重写所有对System.import
webpack编译的动态import
调用失败后:
Module build failed: SyntaxError: (...)/dashboard.js: Unexpected token (7:4)
5 |
6 | export default Promise.all([
> 7 | import('charts')
| ^
<小时/> 我的
webpack.config.js
:
module:
{
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader'
},
(...)
}
<小时/>
.babelrc
:
{
"presets": ["es2015"],
"plugins": ["syntax-dynamic-import", "transform-runtime"]
}
<小时/>
package.json
:
"devDependencies": {
"autoprefixer": "~6.5.3",
"babel": "^6.5.2",
"babel-cli": "~6.18.0",
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.18.0",
"node-sass": "^4.5.3",
"noty": "~2.4.0",
"path": "~0.12.7",
"promise-polyfill": "~6.0.2",
"resolve-url-loader": "~1.6.0",
"sass-loader": "~4.0.2",
"style-loader": "~0.13.1",
"stylelint": "~7.6.0",
"tag-it": "~2.0.0",
"url-loader": "~0.5.7",
"webpack": "^3.0.0",
"webpack-dev-server": "~2.2.1",
"webpack-uglify-js-plugin": "~1.1.9",
"whatwg-fetch": "~2.0.2"
},
答案 0 :(得分:0)
原来我的.babelrc
被忽略了,因为这个文件(和webpack)在我项目的根目录之外。我通过在webpack.config.js
到babel-loader
添加配置文件的路径来修复它:
{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader?extends='+path.resolve('./.babelrc')
}
答案 1 :(得分:0)
安装此babel插件https://github.com/airbnb/babel-plugin-dynamic-import-node
in .babelrc
{
"plugins": ["dynamic-import-node"]
}`
答案 2 :(得分:-1)
您必须像dynamic-import-webpack
那样导入变压器。这些插件已经包含所需的语法作为依赖项,因此您的配置可以简单:
{
"presets": ["es2015"],
"plugins": ["dynamic-import-webpack", "transform-runtime"]
}