Vue.config.js 配置

module.exports = {
  pages: {
    index: {
      // page 的入口
      entry: 'src/index/main.js',
      // 模板来源
      template: 'public/index.html',
      // 在 dist/index.html 的输出
      filename: 'index.html',
      // 当使用 title 选项时,
      // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: 'Index Page',
      // 在这个页面中包含的块,默认情况下会包含
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: ['chunk-vendors', 'chunk-common', 'index']
    },
    // 当使用只有入口的字符串格式时,
    // 模板会被推导为 `public/subpage.html`
    // 并且如果找不到的话,就回退到 `public/index.html`。
    // 输出文件名会被推导为 `subpage.html`。
    subpage: 'src/subpage/main.js'
  },
  publicPath: process.env.NODE_ENV === "production" ? "./" : "./", 
  transpileDependencies: [],
  configureWebpack: {},
  css:{}
}

pages参数

设置入口文件相关信息。

pages参数是会编译到webpack中的html-webpack-plugin的配置里的。

chunks 选项的作用主要是针对多入口(entry)文件。当你有多个入口文件的时候,对应就会生成多个编译后的 js 文件。那么 chunks 选项就可以决定是否都使用这些生成的 js 文件。pages.chunks也就等同于html-webpack-plugin中的chunks.

输出路径配置

解决 build 打包后,只能根目录执行的问题

baseUrl 从 Vue CLI 3.3 起已弃用,请使用publicPath。

publicPath: process.env.NODE_ENV === "production" ? "./" : "./",

兼容配置

解决 IE 浏览器下,经常报错,不支持的问题

如:报错SCRIPT1006: 缺少 ‘)’;报错:Promise 不支持等问题

找到报错的依赖名称,设置到 transpileDependencies 中,就会通过 Babel 显式转译这个依赖

transpileDependencies: ['resize-detector','iView']

js 插件配置

引入 jQuery
configureWebpack: {//引入jquery

    plugins: [

      new webpack.ProvidePlugin({

        $:"jquery",

        jQuery:"jquery"

      })

    ]

  }

css loader 配置

项目中需要配置 less 的依赖
css:{
    loaderOptions:{
      less:{
        javascriptEnabled: true
      }
    }
  },