关于vue的npm run dev和npm run build的区别介绍,下面就分享给大家,具体如下:
├─build│ ├─build.js│ ├─check-versions.js│ ├─dev-client.js│ ├─dev-server.js│ ├─utils.js│ ├─vue-loader.conf.js│ ├─webpack.base.conf.js│ ├─webpack.dev.conf.js│ ├─webpack.prod.conf.js│ └─webpack.test.conf.js├─config│ ├─dev.env.js│ ├─index.js│ ├─prod.env.js│ └─test.env.js├─...└─package.json
以上是关于bulid与run的所有文件
指令分析
package.json里面
"dev": "node build/dev-server.js","build": "node build/build.js",
意思:运行”npm run dev”的时候执行的是build/dev-server.js文件,
运行”npm run build”的时候执行的是build/build.js文件。
build文件夹分析
build/dev-server.js
npm run dev 执行的文件build/dev-server.js文件,执行了:
检查node和npm的版本 引入相关插件和配置 创建express服务器和webpack编译器 配置开发中间件(webpack-dev-middleware)和热重载中间件(webpack-hot-middleware) 挂载代理服务和中间件 配置静态资源 启动服务器监听特定端口(8080) 自动打开浏览器并打开特定网址(localhost:8080)说明: express服务器提供静态文件服务,不过它还使用了http-proxy-middleware,一个http请求代理的中间件。前端开发过程中需要使用到后台的API的话,可以通过配置proxyTable来将相应的后台请求代理到专用的API服务器。
build/webpack.base.conf.js
dev-server依赖的webpack配置是webpack.dev.conf.js文件,
测试环境下使用的是webpack.prod.conf.js
webpack.dev.conf.js中又引用了webpack.base.conf.js
webpack.base.conf.js主要完成了下面这些事情:
这个配置里面只配置了.js、.vue、图片、字体等几类文件的处理规则,如果需要处理其他文件可以在module.rules里面配置。
build/webpack.dev.conf.js
在webpack.base.conf的基础上增加完善了开发环境下面的配置,主要包括下面几件事情:
将hot-reload相关的代码添加到entry chunks
合并基础的webpack配置 使用styleLoaders 配置Source Maps 配置webpack插件build/check-versions.js和build/dev-client.js
最后是build文件夹下面两个比较简单的文件,
dev-client.js似乎没有使用到,代码也比较简单,这里不多讲。
check-version.js完成对node和npm的版本检测
build/utils.js和build/vue-loader.conf.js
webpack配置文件中使用到了utils.js和vue-loader.conf.js这两个文件,utils主要完成下面3件事:
配置静态资源路径 生成cssLoaders用于加载.vue文件中的样式 生成styleLoaders用于加载不在.vue文件中的单独存在的样式文件新闻热点
疑难解答
图片精选