请帮助我理解为什么bable / runtime / helpers无法解析interopRequireDefault。我刚刚升级了babel,试图明确地将我的依赖项移动到babel 7.0.0。据我所知,如果没有检测到浏览器支持我的babelrc文件中提供的“插件”中最新的babel使用。
错误是:模块构建失败:TypeError:无法读取null
的属性“绑定”我的babel-loader肯定会调用文件并启动编译。我是否需要指定其他配置或遍历过程?
devDependencies
"devDependencies": {
"@babel/cli": "^7.0.0-beta.34",
"@babel/plugin-syntax-dynamic-import": "7.0.0-beta.34",
"@babel/plugin-syntax-export-default-from": "7.0.0-beta.34",
"@babel/plugin-syntax-export-namespace-from": "7.0.0-beta.34",
"@babel/plugin-transform-runtime": "^7.0.0-beta.34",
"@babel/plugin-transform-strict-mode": "7.0.0-beta.34",
"@babel/preset-react": "^7.0.0-beta.34",
babelrc
"presets": [
"latest",
"react",
],
"plugins": [
"@babel/plugin-syntax-export-default-from",
"@babel/plugin-syntax-export-namespace-from",
"@babel/plugin-transform-runtime",
"@babel/plugin-syntax-object-rest-spread",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-transform-strict-mode",
],
ERR
at Scope.moveBindingTo (/node_modules/babel-core/node_modules/babel-traverse/lib/scope/index.js:939:12)
at BlockScoping.updateScopeInfo (/node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:364:17)
at BlockScoping.run (node_modules/babel-preset-es2015/node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:330:12)
at PluginPass.BlockStatementSwitchStatementProgram (node_modules/babel-plugin-transform-es2015-block-scoping/lib/index.js:70:24)
答案 0 :(得分:4)
您使用的是babel-preset-latest
,已弃用babel-preset-env
(对于Babel 7,它是@babel/preset-env
npm)。 latest
预设已被弃用了一段时间,Babel 7完全放弃了它。您使用的预设是Babel 6,与Babel 7不兼容。
您需要迁移到@babel/preset-env
。
npm install --save-dev @babel/preset-env
env
预设可以配置为仅转换您定位的浏览器不支持的功能,但没有任何配置,它的行为与latest
预设完全相同,因此您可以替换它.babelrc
。此外,配置中的react
预设应为@babel/preset-react
。
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],