vue-cli2.9.1版本为什么不用express了?这样做的好处是什么?

vue-cli 2.9.1 build目录结构
图片描述

webpack.dev.conf.js文件

module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
  reject(err)
} else {
  // publish the new Port, necessary for e2e tests
  process.env.PORT = port
  // add port to devServer config
  devWebpackConfig.devServer.port = port

  // Add FriendlyErrorsPlugin
  devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
    compilationSuccessInfo: {
      messages: [`Your application is running here: http://${config.dev.host}:${port}`],
    },
    onErrors: config.dev.notifyOnErrors
    ? utils.createNotifierCallback()
    : undefined
  }))

  resolve(devWebpackConfig)
}

})
})

阅读 5.3k
4 个回答

只不过是改了WEBPACK DEV SERVER
还是基于express的

===========分割线
楼主可以这么理解
vue本身提供的 dev-server.js 是一个基于express的开发服务器,
但是webpack官方也提供了一个,实现的更好更通用,所以,vue就放弃了de-server.js,改用webpack提供的

这是webpack-dev-server 的源码,你可看到,它也是基于express的
https://github.com/webpack/we...

新手上路,请多包涵

vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发
一般要在build/dev-server.js文件中
在var app = express()这个实例的下面添加如下代码
// 本地json-server服务器搭建代码
// 引入数据库文件
var appData = require('../mock.json')
// 引入数据库
var getBoardList = appData.getBoardList
var apiRoutes = express.Router()
// 使用api的方法来创建连接时候的请求
apiRoutes.post('/getBoardList', function (req, res) {
res.json({

errno: 0 ,
data: getBoardList

});
})
// 调用api
app.use('/api', apiRoutes)

那现在应该如何修改?或者要参考哪些文档?webpack自身文档并没有详细说明。

新手上路,请多包涵

在webpack.dev.conf.js中配置了devServer项,然后在package.json 中 "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",即可启动服务
可以参考webpack3的中文网 https://doc.webpack-china.org...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进