vue-cli配置文件——config篇(转脚本之家)

config文件夹结构:

|-config
|---dev.env.js
|---index.js
|---prod.env.js
prod.env.js的文件内容:仅仅导出了一个对象,里面写明了执行环境是“production(生产环境)”
'use strict'
module.exports = {
NODE_ENV: '"production"',
// API_ROOT: '"https://www.lvyinglc.com/api"' // 正式环境 => 后端已经在上线时调整API地址,没事别改
API_ROOT: '"https://twww.lvyinglc.com/api"' // 测试环境
}
dev.env.js的文件内容:
'use strict'
//引入webpack-merge模块,作用:合并两个配置文件对象并生成一个新的配置文件,有点类似于es6的object.assign();了解webpack-merge请访问:https://www.npmjs.com/package/webpack-merge
const merge = require('webpack-merge')
// 引入prod.env.js
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
NODE_ENV: '"development"',//开发环境
// API_ROOT: '"http://192.168.1.159:8080"'
// API_ROOT: '"https://twww.lvyinglc.com/api"',接口地址,没有本地代理的情况下
API_ROOT: '"/api"',//本地代理的接口地址,如果有本地代理的话(在index.js页面有配置)

})

index.js的文件内容:
'use strict'
const path = require('path')//引入了node中的path模块
module.exports = {
 dev: {
 assetsSubDirectory: 'static',//指静态资源文件夹,默认“static”
 assetsPublicPath: '/',//指发布路径
 //proxyTable: {},//常用来配置代理API,不需要配置的时候
  //需要配置的时候
 proxyTable:{
  '/api':{//将https://twww.lvyinglc.com印射为/api
    target:'https://twww.lvyinglc.com',//接口域名
    changeOrigin:true,//是否跨域
    pathRewrite:{
      '^/api':'/api'
    },
    secure:false,//如果是https接口,需要配置这个参数
    }
  },
 host: 'localhost', //本地执行地址
 port: 8080, //本地执行端口
 autoOpenBrowser: false,//是否自动打开浏览器
 errorOverlay: true,//查询错误
 notifyOnErrors: true,//通知错误
 poll: false, // 是跟devserver相关的一个配置,webpack为我们提供的devserver是可以监控文件改动的,但在有些情况下却不能工作,我们可以设置一个轮询poll(来解决)https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
 useEslint: true,//是否使用eslint
 showEslintErrorsInOverlay: false,//是否展示eslint的错误提示
 devtool: 'eval-source-map',//webpack提供的用来方便调试的配置,他有四种模式,可以查看webpack文档了解更多
 cacheBusting: true,//一个配合devtool的配置,当给文件名插入新的hash导致清楚缓存时是否生成souce maps,默认在开发环境下为true
 cssSourceMap: false,//是否开启cssSourceMap
 },
 build: {
 index: path.resolve(__dirname, '../dist/index.html'),//编译后index.html的路径,path.resolve(__dirname, '../dist')中。path.resolve(__dirname)指的是index.js所在的绝对路径,再去找“../dist”这个路径(node相关的知识)。
 assetsRoot: path.resolve(__dirname, '../dist'),//打包后的文件根路径,至于assetsSubDirectory和assetsPublicPath跟dev中的一样,
 assetsSubDirectory: 'static',
 assetsPublicPath: '/',
 productionSourceMap: true,//是否开启source-map,
 devtool: '#source-map',//同dev
 productionGzip: false,//是否压缩
 productionGzipExtensions: ['js', 'css'],//gzip模式下需要压缩的文件的扩展名,设置后会对相应扩展名的文件进行压缩
 bundleAnalyzerReport: process.env.npm_config_report//是否开启打包后的分析报告
 }
}
原文地址:https://www.cnblogs.com/wssdx/p/9843544.html