代码拉取完成,页面将自动刷新
/**
* @fileoverview webpack config.
*
* @version 0.1.0.0, Jun 3, 2019
*/
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const {CleanWebpackPlugin} = require('clean-webpack-plugin')
const BundleAnalyzerPlugin = require(
'webpack-bundle-analyzer').BundleAnalyzerPlugin
const baseConfig = {
output: {
filename: '[name]',
path: path.resolve(__dirname, 'dist'),
},
entry: {
'index.js': './src/ts/index.ts',
'setting.js': './src/ts/setting.ts',
'detail.js': './src/ts/detail.ts',
'home.js': './src/ts/home.ts',
},
resolve: {
extensions: ['.ts', '.js', 'pug'],
},
module: {
rules: [
{
test: /\.pug$/,
use: ['pug-loader'],
},
{
test: /\.ts$/,
use: 'ts-loader',
},
],
},
optimization: {
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors.js',
chunks: 'all',
},
},
},
},
plugins: [
// new BundleAnalyzerPlugin(),
new HtmlWebpackPlugin({
chunks: ['index.js', 'vendors.js'],
filename: './index.html',
template: './src/pug/app.pug',
}),
new HtmlWebpackPlugin({
chunks: ['setting.js', 'vendors.js'],
filename: './setting.html',
template: './src/pug/app.pug',
}),
new HtmlWebpackPlugin({
chunks: ['detail.js', 'vendors.js'],
filename: './detail.html',
template: './src/pug/app.pug',
}),
new HtmlWebpackPlugin({
chunks: ['home.js', 'vendors.js'],
filename: './home.html',
template: './src/pug/app.pug',
}),
],
}
const getConfig = (env) => {
let config
if (env && env.production) {
config = Object.assign({}, baseConfig, {
mode: 'production',
})
config.plugins.push(new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: [path.join(__dirname, 'dist')],
}))
} else {
config = Object.assign({}, baseConfig, {
mode: 'development',
watch: true,
devServer: {
contentBase: path.join(__dirname, '.'),
port: 9000,
host: '0.0.0.0',
},
})
}
return config
}
module.exports = getConfig
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。