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.x
1.x
无法与当前的Babel配置一起使用。请注意,我是从全局npm实例运行旧的webpack,但核心问题是找不到
。babelrc
。如果配置在根目录之外,您最好直接将配置放在webpack配置中。
in .babelrc
{
  "plugins": ["dynamic-import-node"]
}`