【问题标题】:Can't use es6 modules with webpack无法将 es6 模块与 webpack 一起使用
【发布时间】:2015-11-14 13:33:05
【问题描述】:

尝试在 webpack 中使用带有 babel loader 的 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 是针对具有上述名称的 Python 库 的问题。

标签: webpack babeljs


【解决方案1】:

看来 babel 没有参加派对。关于包含import foo from 'data'; 语句的文件的检查事项:

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

附带说明... ES6 相当于:

foo = require( './data');

会的,

import foo from './data';
                 ^^

【讨论】:

  • 谢谢,我忘了改webpack配置文件中的src路径
猜你喜欢
  • 1970-01-01
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-15
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
相关资源
最近更新 更多