使用 webpack 编译时来自 Terser 的 main.js 中的错误

ajn*_*eau 6 javascript node.js webpack terser

所以我试图运行 webpack 来编译我的代码,但是当我运行时npx webpack --config webpack.config.js出现以下错误:

ERROR in main.js from Terser
Invalid assignment [main.js:78674,15]
Run Code Online (Sandbox Code Playgroud)

没什么可看的,我什至不知道该往哪里看。有没有人有任何想法可能导致这种情况?

这是我的 webpack 配置:

const path = require('path');

module.exports = {
    entry: './server.js',
    target: "node",
    output: {
        filename: 'main.js',
        path: path.resolve(__dirname, 'dist'),
        publicPath: "/public/"
    },
    module:{
        rules: [
            {
                test: /\.m?js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env'],
                        plugins: ['@babel/plugin-syntax-dynamic-import']
                    }
                }
            }
        ]
    },
    resolve: {
        alias: {
            'express-handlebars': 'handlebars/dist/handlebars.js'
        }
    }
};

Run Code Online (Sandbox Code Playgroud)

谢谢!

ajn*_*eau 9

解决:

这是分配错误,我将 process.end.NODE_ENV 分配给一个字符串,该字符串被编译为两个字符串分配:

"node-env" = "dev-env"
Run Code Online (Sandbox Code Playgroud)

我解决了这个问题,但没有最小化我的 webpack 构建:

    optimization: {
        minimize: false
    }
Run Code Online (Sandbox Code Playgroud)

然后从错误输出中找到分配错误行,在非缩小包中。

Invalid function parameter [bundle.js:186393,23]
Run Code Online (Sandbox Code Playgroud)

希望这对其他人有帮助。