Странная ошибка с Common Js под Webpack4 + babel8 + coreJs@3 - PullRequest
0 голосов
/ 18 марта 2020

Это вход:

// index.js
const {test} = require('./handle')
test()

Это обычный js модуль

// handle.js
module.exports = {
  test() {
    console.log('>>>>>   handle get trigger')
    console.log(typeof [])
  }
}

Успешная компиляция, тогда я получил эту ошибку при запуске

Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

Если удалить console.log(typeof []) из handle.js, ошибка исчезнет.

моя конфигурация babel:

{
                test: /\.jsx?$/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ["@babel/preset-env"],
                        plugins: [
                            [
                                "@babel/plugin-transform-runtime",
                                {
                                    "corejs": 3
                                }
                            ],
                            "@babel/plugin-syntax-dynamic-import"
                        ]
                    }
                },
                include: /src/
            },

Ошибка также исчезает, когда я использую модуль ES6, чтобы написать это.

1 Ответ

0 голосов
/ 18 марта 2020

@babel/plugin-transform-runtime добавляет import к моим файлам! Так что это стало смешанным использованием ES6Module и Common Js! Это вызывает проблему !!!!!!

Итак, мы можем использовать только модуль Es6 или добавить плагин babel @babel/plugin-transform-modules-commonjs

...