首页 文章

不能在webpack中使用es6模块

提问于
浏览
0

尝试在webpack中使用带有babel加载器的es6模块时出错 . 它适用于require,但不能导入 .

如果我做:

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']
        }
      },

路径:

webpackconfig /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"
  }

1 回答

  • 1

    看起来巴贝尔没有参加派对 . 有关包含 import foo from 'data'; 语句的文件的检查事项:

    • 检查文件是否在 src 目录下 .

    • 检查文件扩展名是 .js .

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

    foo = require( './data');
    

    将会,

    import foo from './data';
                     ^^
    

相关问题