const { resolve } = require('path')
const htmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
entry: './src/main.js',
output: {
filename: 'js/build.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [
{
test: /\.less$/,
use: ['style-loader', 'css-loader', 'less-loader']
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},
// 处理css的img资源
{
test: /\.(jpg|png|gif|)$/,
loader: 'url-loader',
options: {
limit: 8 * 1024,
name: '[hash:10].[ext]',
// 关闭es6模块化
esModule: false,
outputPath: 'images'
}
},
// 处理html中的img资源
{
test: /\.html$/,
loader: 'html-loader',
},
//处理其它资源
{
exclude: /\.(html|js|css|less|jpg|png|gif|)$/,
loader: 'file-loader',
options: {
name: '[hash:10].[ext]',
outputPath: 'medias'
}
}
]
},
plugins: [
new htmlWebpackPlugin({
template: './src/index.html'
})
],
// 开发服务器,用来自动化(自动编译,自动打开浏览器,自动刷新浏览器)
devserver: {
// 项目构建后路径
contentBase: resolve(__dirname, 'build'),
// 启动gzip压缩
compress: true,
// 端口号
port: 3000,
// 自动打开浏览器
open: true,
}
}