【发布时间】:2020-06-29 04:21:33
【问题描述】:
这是入口:
// index.js
const {test} = require('./handle')
test()
这是一个commonjs模块
// 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>'
如果我从handle.js 中删除console.log(typeof []),错误就会消失。
我的 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 模块编写此代码时,错误也消失了。
【问题讨论】: