vuecli4.2.2的vue.config.js配置

没有vue.config.js?

项目创建是不会自动生成vue.config.js这个文件的,需要自己手动添加,注意新建时要放在项目的根目录。

基础配置

module.exports = {

  publicPath: "/",

  outputDir: "dist", //输出文件目录(存放打包后的文件)

  filenameHashing: false, //打包是不改变文件名(不添加hash)

  productionSourceMap: false, //打包时不会生成.map文件

  devServer: {

    open: true, //编译完自动在浏览器打开

    //下面的ip和端口按需配置,如8080已被其它进程占用,可改成8088等

    host: "127.0.0.1",

    port: 8080

  }

};

IE空白问题!

原因:项目在IE浏览器打开空白是因为IE不支持ES6,无法解析。

解决办法:

1.安装 -> npm i -S @babel/polyfill

2.在src里面的main.js引入import "@babel/polyfill"

3.配置 babel.config.js

constplugins=[];

module.exports={  presets:[["@vue/app", { useBuiltIns:"entry"}]],  plugins:plugins};

关于开启gzip?

不要在本地和服务器同时开启gzip,部署的时候在nginx配置就可以了。

去除生产环境的console.log日志

这个没法在开发环境测试是否有效,如把process.env.NODE_ENV修改成开发环境的话会报错。

按这个配置就行了。

configureWebpack: config => {

    if (process.env.NODE_ENV === 'production') {

      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true;

    }

  }

优化首屏加载

去除预加载
chainWebpack: config => {

    config.plugins.delete('prefetch')

  },

完整配置

module.exports = {

  publicPath: '/',

  outputDir: 'dist',

  productionSourceMap: false,

  filenameHashing: false,

  css: {

    loaderOptions: {

      sass: {

        data: `@import "theme/color.scss";`

      }

    }

  },

  configureWebpack: config => {

    config.entry.app = ["babel-polyfill", "./src/main.js"];

    if (process.env.NODE_ENV === 'production') {

      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true;

      config["performance"] = {

        "maxEntrypointSize": 10000000,

        "maxAssetSize": 30000000

      };

    }

  },

  chainWebpack: config => {

    config.plugins.delete('prefetch')

  },

  devServer: {

    open: true

  }

}

你可能感兴趣的:(vuecli4.2.2的vue.config.js配置)