Как я могу отладить эту ошибку Webpack - ОШИБКА в комплекте. js от Terser - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь использовать веб-пакет для объединения проекта 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 МБ), и во всем этом ничего не могу найти.

Любые предложения будут с благодарностью принят.

1 Ответ

0 голосов
/ 07 апреля 2020

Это ошибка с присваиванием, когда у вас есть недопустимый параметр функции в данной строке связки. js.

Это можно решить, не сворачивая сборку веб-пакета:

    optimization: {
        minimize: false
    }

Затем найти строку ошибки присваивания из вывода ошибки в неминифицированном пакете.

Invalid function parameter [bundle.js:186393,23]

Надеюсь, это поможет кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...