我正在尝试使用webpack来捆绑Node JS项目,因为它在最小化代码大小等方面提供了好处,并捆绑了所有的依赖项。
我的webpack作业失败,出现以下错误:
ERROR in bundle.js from Terser
Invalid function parameter [bundle.js:186393,23]这是我的webpack.config文件:
const path = require('path');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
module.exports = {
target: "node",
mode: "production",
entry: {
app: ["./src/vitaq_client.js"]
},
// https://webpack.js.org/configuration/node/
// node: {
// global: false,
// __filename: true,
// __dirname: true,
// },
module: {
// https://github.com/ivan-aksamentov/reactlandia-bolerplate-lite/issues/5#issuecomment-413306341
exprContextCritical: false,
rules: [
{
test: /\.node$/,
use: 'node-loader'
},
{
test: /coffee/,
use: 'node-loader'
},
{
test: /\.coffee$/,
use: [ 'coffee-loader' ]
},
// {
// test: /\.map$/,
// use: ["source-map-loader"],
// enforce: "pre"
// },
]
},
plugins: [
new CleanWebpackPlugin(),
],
output: {
path: path.resolve(__dirname, "./build"),
filename: "bundle.js"
},
};这是我用来运行它的命令:
webpack --config webpack.config.js从我所做的搜索来看,似乎有一个简洁的插件可以用于代码缩减,但正如你从我的配置文件中看到的那样,我并没有加载这个插件,所以默认情况下,webpack会使用这个插件吗?如果没有,我怎么会从Terser那里得到一个错误呢?
如果我在配置文件中将模式设置为“开发”,那么我不会得到问题,但我怀疑这是因为开发代码不会被缩减。
我有点纠结于如何开始调试这个问题--有没有办法从Webpack那里获得更多的输出。当我调用webpack时,我尝试使用--json > compilation-stats.json命令行参数,但是我得到了一个很大的输出文件(43Mb),并且我找不到任何有用的输出文件。
我们将非常感谢您提出的任何建议。
发布于 2020-04-07 20:22:56
这是一个赋值错误,在给定的bundle.js行中有一个无效的函数参数。
您可以通过不最小化webpack构建来解决此问题:
optimization: {
minimize: false
}然后,在未缩小的束中,从错误输出中找到赋值错误行。
Invalid function parameter [bundle.js:186393,23]希望这对其他人有帮助。
https://stackoverflow.com/questions/59773061
复制相似问题