webpack 4和babel 7出错

时间:2018-04-19 12:50:05

标签: javascript webpack

我有一个使用React和Webpack作为构建系统的项目。我的devDependencies

devDependencies

"webpack": "^4.5.0",

webpack.config.js

  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: ['babel-loader'],
      },
...

我收到了这个错误:

   ./node_modules/project/components/InfiniteScroller.jsx中的错误   模块解析失败:意外的令牌(9:8)您可能需要一个   适当的加载器来处理这种文件类型。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

看起来您包含来自node_modules的未编译代码,出于效率原因,您的加载程序明确排除了编译node_modules代码(exclude: /node_modules/)。通常模块公开库的编译版本(通常在/ dist中,通常由" main"属性在模块的package.json中指向)。

如果你想解析node_modules中的代码,我建议你只为node_modules/project而不是所有模块来提高效率。相应地修改您的exclude语句,例如:exclude: /node_modules(?!\/project)/

您还需要确保使用必要的预设来处理文件(例如babel-preset-envbabel-preset-react)以及文件可能需要的任何插件(例如transform-object-rest-spread等)。

答案 1 :(得分:0)

由于我没有足够的评论意见,我将作为答案发布 -

我看到你正在导入.jsx模块 - 你应该尝试添加

query: {
  presets: ['es2015','react']
}

use

之后的规则