Javascript 使用动态导入而不是System.import时出现意外标记
重写我的所有动态Javascript 使用动态导入而不是System.import时出现意外标记,javascript,webpack,babeljs,webpack-3,Javascript,Webpack,Babeljs,Webpack 3,重写我的所有动态系统后。导入调用导入网页编译失败: Module build failed: SyntaxError: (...)/dashboard.js: Unexpected token (7:4) 5 | 6 | export default Promise.all([ > 7 | import('charts') | ^ 我的webpack.config.js: module: { loaders: [ {
系统后。导入调用导入网页编译失败:
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"
},
你也必须像这样导入一个变压器。这些插件已经包含了所需的语法作为依赖项,因此您的配置可以是:
{
"presets": ["es2015"],
"plugins": ["dynamic-import-webpack", "transform-runtime"]
}
原来我的.babelrc
被忽略了,因为这个文件(和网页包)在我项目的根目录之外。我通过将webpack.config.js
中配置文件的路径添加到babel loader
中修复了它:
{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader?extends='+path.resolve('./.babelrc')
}
安装这个巴贝尔插件
只有Webpack1.x才需要这个插件。v2和v3各自支持import()
。是否可以将完整的错误消息包含在stacktrace中?您是否运行了错误版本的Webpack?如果您是通过CLI运行它,那么您可能使用的是全局安装的网页包,而不是package.json中列出的网页包?您的Webpack配置看起来像是1.x的配置,但您的软件包显示您正在使用3.x1.x
无法与当前的Babel配置一起使用。请注意,我是从全局npm实例运行旧的webpack,但核心问题是找不到。babelrc
。如果配置在根目录之外,您最好直接将配置放在webpack配置中。
in .babelrc
{
"plugins": ["dynamic-import-node"]
}`