运行 webpack 升级到 babel 7 webpack 3
running webpack upgrade to babel7 webpack3
请帮助我理解为什么 bable/runtime/helpers 无法解析 interopRequireDefault。我刚刚升级了 babel,试图明确地将我的依赖项移动到 babel 7.0.0。据我了解,是否未检测到浏览器支持我的 babelrc 文件中提供的 "plugins" 中最新的 babel 使用。
错误是:模块构建失败:TypeError:无法读取 属性 'bindings' of null
我的 babel-loader 确实在调用文件并启动编译。我需要指定一些其他配置或遍历过程吗?
开发依赖
"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",
],
错误
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)
您正在使用 babel-preset-latest
,它已被弃用,取而代之的是 babel-preset-env
(对于 Babel 7,它是 npm 上的 @babel/preset-env
)。 latest
preset 已经被弃用了一段时间,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"
],
请帮助我理解为什么 bable/runtime/helpers 无法解析 interopRequireDefault。我刚刚升级了 babel,试图明确地将我的依赖项移动到 babel 7.0.0。据我了解,是否未检测到浏览器支持我的 babelrc 文件中提供的 "plugins" 中最新的 babel 使用。
错误是:模块构建失败:TypeError:无法读取 属性 'bindings' of null
我的 babel-loader 确实在调用文件并启动编译。我需要指定一些其他配置或遍历过程吗?
开发依赖
"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",
],
错误
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)
您正在使用 babel-preset-latest
,它已被弃用,取而代之的是 babel-preset-env
(对于 Babel 7,它是 npm 上的 @babel/preset-env
)。 latest
preset 已经被弃用了一段时间,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"
],