不能在 webpack 中使用 es6 模块

Can't use es6 modules with webpack

尝试在 webpack 中使用带有 babel 加载器的 es6 模块时出现错误。它适用于 require,但不适用于 import。

如果我这样做:

foo = require( './app/data.js'); //it works 

但是

import foo from './app/data.js'; //gives me a syntax error: 

: Module parse failed Line 1: Unexpected token You may need an appropriate loader to handle this file type.

loaders: [
      {
        test: /\.js$/,
        include: path.join(__dirname, 'src'),
        loader: 'babel-loader',
        query: {
          presets: ['es2015']
        }
      },

路径:

webpack配置 /app/main.js

"devDependencies": {
    "babel-core": "^6.1.20",
    "autoprefixer-loader": "^3.1.0",
    "babel-loader": "^6.0.1",
    "babel-preset-es2015": "^6.1.2",
    "css-loader": "^0.23.0",
    "less": "^2.5.1",
    "less-loader": "^2.2.0",
    "node-libs-browser": "^0.5.2",
    "style-loader": "^0.13.0",
    "webpack": "^1.10.0",
    "webpack-dev-server": "^1.10.1"
  },
  "dependencies": {
    "babel-polyfill": "^6.1.19"
  }

babel 好像没有参加聚会。有关包含 import foo from 'data'; 语句的文件的检查事项:

  1. 检查文件是否在 src 目录下。
  2. 检查文件扩展名是否为.js

作为旁注...ES6 相当于:

foo = require( './data');

会是,

import foo from './data';
                 ^^