29 lines
770 B
JavaScript
29 lines
770 B
JavaScript
const nodeExternals = require('webpack-node-externals');
|
|
const { RunScriptWebpackPlugin } = require('run-script-webpack-plugin');
|
|
|
|
/**
|
|
* 使用 Webpack 时的配置文件
|
|
* @param {any} options
|
|
* @param {import('webpack').Configuration} webpack
|
|
* @returns
|
|
*/
|
|
module.exports = function (options, webpack) {
|
|
return {
|
|
...options,
|
|
entry: ['webpack/hot/poll?100', options.entry],
|
|
externals: [
|
|
nodeExternals({
|
|
allowlist: ['webpack/hot/poll?100'],
|
|
}),
|
|
],
|
|
plugins: [
|
|
...options.plugins,
|
|
new webpack.HotModuleReplacementPlugin(),
|
|
new webpack.WatchIgnorePlugin({
|
|
paths: [/\.js$/, /\.d\.ts$/],
|
|
}),
|
|
new RunScriptWebpackPlugin({ name: options.output.filename, autoRestart: false }),
|
|
],
|
|
};
|
|
};
|