vue-cli3 vue-config.js配置 概况

module.exports = {
    /* 部署生产环境和开发环境下的URL:可对当前环境进行区分,baseUrl 从 Vue CLI 3.3 起已弃用,要使用publicPath */ 
    /* baseUrl: process.env.NODE_ENV === 'production' ? './' : '/' */
    // 如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/public/,则设置 publicPath 为 /public/。
    publicPath: process.env.NODE_ENV === 'production' ? '/public/' : './',
    /* 输出文件目录:在npm run build时,生成文件的目录名称 */
    outputDir: 'dist',
    /* 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 */
    assetsDir: "assets",
    /* 是否在构建生产包时生成 sourceMap 文件,false将提高构建速度 */
    productionSourceMap: false,
    /* 默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存,你可以通过将这个选项设为 false 来关闭文件名哈希。(false的时候就是让原来的文件名不改变) */
    filenameHashing: false,
    // 是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码。这个值会在 @vue/cli-plugin-eslint 被安装之后生效。
    lintOnSave: process.env.NODE_ENV !== "production",
    /* webpack-dev-server 相关配置 */
    devServer: {
        /* 自动打开浏览器 */
        open: true,
        /* 设置为0.0.0.0则所有的地址均能访问 */
        host: '0.0.0.0',
        port: 8066,
        https: false,
        hotOnly: false,
        /* 使用代理 */
        proxy: {
            '/api': {
                /* 目标代理服务器地址 */
                target: 'http://47.100.47.3/',
                /* 允许跨域 */
                changeOrigin: true,
                pathRewrite: {
                  "^/api": "" // 去掉接口地址中的api字符串
                }
            },
        },
        before: (app) => {}
    },
    // 第三方插件配置
    pluginOptions: {

    },
    // 是否使用 thread-loader
    parallel: require('os').cpus().length > 1, 
    // css相关配置
    css: {    
        // 是否分离css(插件ExtractTextPlugin)
        extract: true,    
        // 是否开启 CSS source maps
        sourceMap: false,   
        // css预设器配置项
        loaderOptions: {},    
        // 是否启用 CSS modules for all css / pre-processor files.
        modules: false
    },  
    configureWebpack: (config) => {    
       if (process.env.NODE_ENV === 'production') {      
          // 生产环境
          config.mode = 'production'
        } else {      
          // 开发环境
          config.mode = 'development'
        }
    },  
    // webpack相关配置
    chainWebpack: (config) => {
        config.resolve.alias
          .set('vue$', 'vue/dist/vue.esm.js')
          .set('@', path.resolve(__dirname, './src'))
    },
     // 生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 标签上启用 Subresource Integrity (SRI)
    integrity: false,
    // vue-loader 配置项
    vueLoader: {},
    // 是否启用dll
    // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode
    dll: false,
} 

// https://cli.vuejs.org/zh/config/#chainwebpack

  

原文地址:https://www.cnblogs.com/zhouhongdan/p/12834455.html