Я пытаюсь использовать веб-пакет для объединения проекта Node JS, поскольку он предлагает преимущества в плане минимизации размера кода и т. Д. c. и объединение всех зависимостей.
Моя работа с веб-пакетом завершается с ошибкой:
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
По результатам проведенного поиска кажется, что существует плагин Terser для минимизации кода, но, как вы можете видеть из моего конфигурационного файла, я не загружается этот плагин, поэтому веб-пакет использует этот плагин по умолчанию? Если нет, то как я могу получить ошибку от Terser?
Если я установлю режим "разработка" в файле конфигурации, то у меня не возникнет проблема, но я подозреваю, что это потому, что код разработки не будет получи минимизацию.
Я немного застрял в том, как я приступил к отладке этой проблемы - есть ли способы получить больше вывода из Webpack. Я пытался использовать аргумент командной строки --json > compilation-stats.json
при вызове веб-пакета, но я получаю огромный выходной файл (43 МБ), и во всем этом ничего не могу найти.
Любые предложения будут с благодарностью принят.