小时浪费在webpack / babel的voodoo配置上

时间:2016-01-25 11:58:56

标签: webpack babeljs

我得到的错误是:

ERROR in ./~/babel-core/package.json
Module parse failed: /Users/sigfried/Sites/git_projects/supergroup/node_modules/babel-core/package.json Line 2: Unexpected token :
You may need an appropriate loader to handle this file type.
| {
|   "_args": [
|     [
|       "babel-core@^6.4.5",
 @ ./~/babel-core/lib/api/node.js 67:15-39

ERROR in ./~/globals/globals.json
Module parse failed: /Users/sigfried/Sites/git_projects/supergroup/node_modules/globals/globals.json Line 2: Unexpected token :
You may need an appropriate loader to handle this file type.
| {
|   "builtin": {
|       "Array": false,
|       "ArrayBuffer": false,
 @ ./~/globals/index.js 1:17-42

我不打算提供我的package.json和webpack.config.js,因为我多次改变它(盲目地,我承认 - 因此," voodoo"在标题中)根据这么多来源的食谱,我不知道提供什么。终于让我超越这些错误的答案不在Stack Exchange上,所以我把它放在这里。

1 个答案:

答案 0 :(得分:4)

我遵循了

的建议

Webpack error with react"You may need an appropriate loader to handle this file type" with Webpack and Babel,这可能帮助我解决了其他问题,当然也帮助其他人犯了同样的错误。不过,最终为我解决的问题是:https://github.com/pixijs/pixi.js/issues/1854

我希望这些答案可以让其他人不必去看那么多地方。

在回复评论时,如果链接最终破坏,这个答案变得无用,我应该在这个答案中包含实际答案,我会这样做。但是,我建议您跳过此部分,如果它们仍然有效,请使用上面的链接,因为它们包含webpack.config.js和package.js的完整示例,并可能提醒您自己的问题。 (或者,比我更了解webpack的人可以给出另一个提供真实解释的答案。我很乐意删除我的答案并选择那个答案。)

第一个链接中提供的答案只是:

  

loaders选项应嵌套在module对象中。

上面的第二个链接给出了这个答案:

  

您需要安装es2015预设:

npm install babel-preset-es2015
and then configure babel-loader:

{
    test: /\.jsx?$/,
    loader: 'babel-loader',
    exclude: /node_modules/,
    query: {
        presets: ['es2015']
    }
}

这个链接提供了一个不太受欢迎的答案:

  

最终帮助我的是什么,我不知道为什么,当然是在添加一个json加载器(和npm --save-dev i json-loader。)

module: {
  loaders: [{
    test: /\.json$/,
    loader: 'json-loader'
  }]
}

根据下面的评论,json-loader为我工作的事实可能意味着我正在做其他事情(比如捆绑Babel本身)错误。我可以更长时间地复制问题,但json-loader是不必要的。

跟进:我再次看到错误!当我尝试解决其他一些问题时,我在我的一个源文件中尝试了(' babel-core')时出现了。