Я столкнулся со странным поведением 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
на что-то другое, и он будет вызван один раз (как я думаю, и должен).
Кто-нибудь знает, что происходит?