-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.plugins.cjs
63 lines (55 loc) · 1.47 KB
/
webpack.plugins.cjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// const path = require("path");
// const webpack = require("webpack");
// const CopyPlugin = require("copy-webpack-plugin");
const JsConfigWebpackPlugin = require('js-config-webpack-plugin')
const htmlPlugin = require('html-webpack-plugin')
const { title, publicPath, IS_WEBPACK_DEV_SERVER } = require('./webpack.env')
const hpBaseOption = {
template: `index.ejs`,
filename: `index.html`
// filename: "../[name].html",
// base: { href: "/learn.html" },
// inject: 'body'
// scriptLoading: 'blocking',//如果是默认值‘defer’将导致document.write语句失效!!!
}
const plugins = [
new htmlPlugin({
...hpBaseOption,
title,
filename: `${title}.html`
})
// new JsConfigWebpackPlugin(),
// new CopyPlugin({
// patterns: [
// { from: './src/config.js', to: './' },
// ]
// }),
// new webpack.DefinePlugin({
// __VUE_OPTIONS_API__: JSON.stringify(true),
// __VUE_PROD_DEVTOOLS__: JSON.stringify(false),
// BASE_URL: JSON.stringify("./"),
// }),
]
if (IS_WEBPACK_DEV_SERVER && title !== 'index') {
plugins.push(
new htmlPlugin({
...hpBaseOption,
meta: {
refresh: {
'http-equiv': 'refresh',
content: `3;url=${publicPath}${title}.html`
}
}
})
)
}
if (!IS_WEBPACK_DEV_SERVER && title !== 'learn') {
plugins.push(
new htmlPlugin({
...hpBaseOption,
title,
filename: '../learn.html'
})
)
}
module.exports.plugins = plugins