vue cli如何修改webpack配置

简介: 笔记
+关注继续查看

Vue CLi3 修改webpack配置

审查项目的 webpack 配置

因为 @vue/cli-service 对 webpack 配置进行了抽象,当你想查看webpack的配置时可以使用 inspect命令:

vue inspect # 在终端打印 webpack配置信息
vue inspect > output.js # 把webpack配置信息生成到output.js文件

注意,output.js 文件不是一个有效的 webpack 配置文件,仅用于审查。

修改webpack配置

修改路径别名为例:

  1. 项目根目录创建文件 vue.config.js
  2. 参考如下代码修改路径别名:
// vue.config.js
const path = require('path')
const resolve = dir => path.resolve(__dirname, dir)

module.exports = {
  chainWebpack: config => {
    config.resolve.alias
      .set('styles', resolve('src/assets/styles'))
  }
}

参考

const path = require('path')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const ProxyAgent = require('proxy-agent')
const resolve = dir => path.resolve(__dirname, dir)
module.exports = {
  outputDir: process.env.outputDir || 'dist', // 'dist', 生产环境构建文件的目录
  runtimeCompiler: true,
  assetsDir: 'static',
  productionSourceMap: false, // 生产环境的 source map
  parallel: require('os').cpus().length > 1,
  configureWebpack: config => {
    // 公共配置
    // cdn引用时配置externals 防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖
    config.externals = {
      'vue': 'Vue',
      'vue-router': 'VueRouter',
      'element-ui': 'ELEMENT',
      'vuex': 'Vuex',
      'axios': 'axios'
    }
    config.resolve.alias = Object.assign({}, config.resolve.alias, {
      'src': resolve('src/common'),
      'common': resolve('src/views/common'),
      'static': resolve('static')
    })
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
      config.optimization = {
        minimizer: [
          new UglifyJsPlugin({
            uglifyOptions: {
              compress: {
                drop_console: true, // console
                drop_debugger: false,
                pure_funcs: ['console.log']// 移除console
              }
            }
          })
        ]
      }
    } else {
      // 为开发环境修改配置...
    }
  },
  css: {
    loaderOptions: {
      css: {
        importLoaders: 1 // @import 引入的文件可被一个loader处理 (2 可被两个loader处理)
      }
    }
  },
  devServer: {
    port: 80,
    disableHostCheck: true, // 可使用本地host配置的域名访问
    proxy: {
      '/api': {
        agent: new ProxyAgent('http://132.128.11.12'),
        target: 'http://132.128.11.12',
        ws: false,
        changeOrigin: true
      }
    }

  }
}
相关文章
|
16小时前
|
JavaScript
【Vue2.0】—Vue脚手架配置代理(二十二)
【Vue2.0】—Vue脚手架配置代理(二十二)
|
16小时前
|
JavaScript
【Vue】—Vue脚手架创建项目时的 linter / formatter config配置选择
【Vue】—Vue脚手架创建项目时的 linter / formatter config配置选择
|
16小时前
|
JavaScript
vue项目配置可选调用链
vue项目配置可选调用链
7 0
|
10天前
|
前端开发 JavaScript 应用服务中间件
nginx配置vue前端代理
nginx配置vue前端代理
12 0
|
15天前
|
JavaScript 前端开发 Windows
vue项目中webpack-dev-server的open和host0.0.0.0配置冲突
一个比较老的公司项目,webpack 用的 v3 版本,为了实现localhost、127.0.0.1和本机ip可以同时访问,webpack的devServer里的 host 我们一般会设置成 0.0.0.0,这样本机所有 ipv4 地址都可以实现访问
19 0
|
21天前
|
JavaScript
使用Webstorm快速启动Vue项目配置
使用Webstorm快速启动Vue项目配置
24 0
|
22天前
|
JavaScript 前端开发 API
vue配置和使用mockjs
vue配置和使用mockjs
|
28天前
|
JavaScript 前端开发 API
vue项目中配置简单的代理与promise,并简单封装请求接口
vue项目中配置简单的代理与promise,并简单封装请求接口
10 0
|
29天前
|
Web App开发 JavaScript 前端开发
VsCode 常用好用插件/配置+开发Vue 必装的插件
VsCode 常用好用插件/配置+开发Vue 必装的插件
53 0
|
29天前
|
JavaScript 前端开发
前端vue配置多个代理 axios的使用
前端vue配置多个代理 axios的使用
33 0
相关产品
云迁移中心
推荐文章
更多