Vue 进阶(十四):config/index.js 配置文件详解
一、前言
config
配置的目的是为了服务webpack
配置,给不同的编译条件提供配置。当需要和后台分离部署的时候,必须配置config/index.js
。
用 vue-cli
脚手架自动构建的目录里面会包含以下代码(环境变量及其基本变量的配置)。
在build
部分,有以下选项:
build.index
必须是本地文件系统上的绝对路径。index.html
(带着插入的资源路径) 会在编译之后生成。build.assetsRoot
必须是本地文件系统上的绝对路径。应该指向包含应用程序的所有静态资产的根目录。build.assetsSubDirectory
被webpack
编译处理过的资源文件都会在build.assetsRoot
目录下,所以它不可以混有其它可能在build.assetsRoot
里面有的文件。例如,假如build.assetsRoot
参数是/path/to/dist
,build.assetsSubDirectory
参数是static
, 那么所有webpack
资源会被编译到path/to/dist/static
目录。
每次编译前,这个目录会被清空,所以这个只能放编译出来的资源文件。
static/
目录的文件会在构建过程中,直接拷贝到这个目录。这意味着是如果改变这个规则,所有依赖于static/
中文件的绝对地址,都需要改变。build.assetsPublicPath
【资源的根目录】这个是通过http
服务器运行的url
路径。在大多数情况下,这个是根目录(/
)。如果后台框架对静态资源url
前缀要求,仅需要改变这个参数。在内部,这个是被webpack
当做output.publicPath
来处理的。build.productionSourceMap
在构建生产环境版本时是否开启source map
。dev.port
开发服务器监听的特定端口。dev.proxyTable
定义开发服务器的代理规则。
二、配置参数详解
项目中配置的config/index.js
,有dev
和production
两种环境配置,以下介绍的是production
环境下的webpack
配置。
下面是build/webpack.base.conf.js
配置文件:
webpack.prod.conf.js
生产环境下的配置文件
build/build.js
项目入口,由package.json
文件可以看出
当执行 npm run dev / npm run build
/ npm run watch
时运行的是 node build/dev-server.js
或 node build/build.js
或node build/build-watch.js
。
node build/build-watch.js
是配置加载production
环境配置基础上在webpack
配置模块加上 watch:true
便可实现代码的实时编译。
三、拓展阅读
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/0e33f04f9a5fb991cdbe9cabb】。文章转载请联系作者。
评论