let path = require('path')
module.exports = {
// context: 如果不通过path.resolve 配置入口访问路径 watch: true失效
context: path.resolve('./app1'),
entry: {
index: './index.js',
mobile: path.resolve('./app2/mobile.js')
},
output: {
// filename: 编译的文件名 仅用于命名每个文件
// [name]: 多入口形式 入口文件名替换这里的name
// [chunkhash]: 入口文件的hash值
filename: '[name].bundle.js',
// 包存放的目录
path: path.resolve('./lx'),
// 非入口的文件名 某个文件不在入口文件 又需要打包时通过该入口起文件名打包
chunkFilename: '[id].bundle.js'
},
module: {
// 定义正则 忽略该正则匹配的文件不需要 loader 解析
// 可以定义任何不需要loader解析的文件格式
// noParse: /\.jsx$/ 不解析所有js文件
noParse: /\.css$/,
rules: [
{
// 匹配条件
// 一个单独的字符串
// include: path.resolve(__dirname, "css")
// 一个字符串数组
include: [
path.resolve(__dirname, "css")
],
// 匹配一个正则表达式
// test: /\.css$/,
use: [
{loader: 'style-loader'},
{
loader: 'css-loader',
// query 是 options的别名 已被options替代
options: {
// 是否开启 解析 @import加载CSS
modules: true
}
}
]
},
{
test: /\.js$/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}
]
},
watch: true
}