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
}
}
},