代码拉取完成,页面将自动刷新
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const resolve = data => path.resolve(__dirname, data);
module.exports = {
mode: 'development',
devtool: 'inline-source-map',
resolve: {
// 路径别名
alias: {
api: resolve('src/api'),
components: resolve('src/components'),
pages: resolve('src/pages'),
fonts: resolve('src/assets/fonts'),
images: resolve('src/assets/images'),
styles: resolve('src/assets/styles'),
},
},
entry: './src/pages/index/index.js',
output: {
path: resolve('dist'),
filename: 'index.js',
// 静态资源模块文件名
assetModuleFilename: 'assets/[name][ext][query]',
// 打包的时候打开,清除dist目录,开发环境下注释掉,会报错
// clean:true
},
module: {
rules: [
{
test: /\.art$/i,
loader: 'art-template-loader'
},
{
test: /\.css$/i,
use: [MiniCssExtractPlugin.loader, 'css-loader']
},
{
test: /\.(png|svg|jpg|jpeg|gif)$/i,
type: 'asset',
// 控制图片是否转化为base64编码格式
parser: {
dataUrlCondition: {
maxSize: 4 * 1024 // 4kb,默认值是8kb
}
}
},
{
test: /\.(woff|woff2|eot|ttf|otf)$/i,
type: 'asset',
parser: {
dataUrlCondition: {
maxSize: 4 * 1024 // 4kb,默认值是8kb
}
}
},
]
},
plugins: [
new MiniCssExtractPlugin({
filename: 'style.css'
}),
new HtmlWebpackPlugin({
template: './src/pages/index/index.art',
filename: 'index.html',
minify: {
// 删除 index.html 中的注释
removeComments: true,
// 删除 index.html 中的空格
collapseWhitespace: true,
// 删除各种 html 标签属性值的双引号
removeAttributeQuotes: true
}
})
]
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。