我遇到了Webpack(4.35.2)的奇怪行为,在devtool: "source-map"
时两次调用了我的函数。
这是一个简单的复制结构:
index.js
(function test() {
console.log("function test");
})();
other.js
import t from "./index";
webpack.config.js
const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = {
entry: {
index: "./index.js",
other: "./other.js"
},
output: {
path: path.resolve(__dirname, "dist"),
filename: "[name].js"
},
module: {
rules: [
{
test: /\.js?$/,
exclude: /(node_modules)/,
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
}
]
},
plugins: [
new HtmlWebpackPlugin({
filename: "index.html"
})
],
devtool: "source-map",
devServer: {
contentBase: path.join(__dirname, "dist"),
compress: true
}
};
如果运行它,test()
将被调用两次。
然后将devtool
更改为其他名称,它就会被调用一次(我认为应该如此)。
有人知道发生了什么事吗?