javascript - 巴别塔 6 : Too many arguments passed error

标签 javascript babeljs

当我尝试运行使用 babel 6 的服务器时,出现以下错误:

错误:/path/to/myapp/server.js:t.Identifier:传递的参数过多。收到3个但最多只能收到1个

这是我的 package.json 的样子:

{
  "scripts": {
  "start": "node app.js",
  "postinstall": "bash ./scripts/npm-post.sh",
  "test": "mocha test"
},
  "dependencies": {
    "babel": "^6.0.15",
    "babel-core": "^6.0.20",
    "babel-preset-react": "^6.0.15",
    "babel-preset-stage-0": "^6.0.15",
    "react": "^0.14.2",
    "react-dom": "^0.14.2",
    "react-helmet": "^2.1.1",
    "react-router": "^1.0.0-rc3",
    "reactify": "^1.1.1",
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.0.15",
  }
}

这是我的 app.js

require('babel-core/register')({
  "presets": [
    "es2015",
    'react'
  ]
});
require('./server.js')

server.js

console.log('hi')

hi 没有打印到控制台。

最佳答案

我已经解决了这个问题,它似乎是 babel-plugin-transform-react-jsx v6.0.14 版本中的一个错误,在这里: https://github.com/babel/babel/blob/v6.0.14/packages/babel-plugin-transform-react-jsx/src/index.js#L36

最新版本的babel react preset需要v6.0.14版本的插件 https://github.com/babel/babel/blob/master/packages/babel-preset-react/package.json#L13

babel-plugin-transform-react-jsx 的最新版本 (v6.0.18) 修复了这个问题。 https://github.com/babel/babel/blob/master/packages/babel-plugin-transform-react-jsx/src/index.js#L36

所以当我使用react预设时,我得到了上面的错误。

为了修复它,我将 babel 配置更改为以下内容(请注意,我切换到使用 .babelrc 而不是 app.js 中的内联配置,但是结果应该是一样的。

.babelrc 是:

{
  "presets": ["es2015", "react"]
}

.babelrc 现在是:

{
  "presets": ["es2015"],
  "plugins": ["transform-react-jsx"]
}

package.json 现在添加了依赖项

"babel-plugin-transform-react-jsx": "^6.0.18",

关于javascript - 巴别塔 6 : Too many arguments passed error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33500903/

相关文章:

javascript - 在对话框中重置 JQuery 验证

javascript - 在 React-Native 中切换屏幕时如何保存数据?

javascript - 如何将对象数组与 var 的内容进行比较

javascript - 在 React 代码中使用 Babel Transform

javascript - Scriptaculous Ajax.Autocomplete 加载栏

javascript - Three.js Fog 仅在一种特定情况下工作

javascript - Chrome 在刷新应用程序后 30 秒以上没有响应(打开开发工具)

python - babel python check_output错误非零退出状态2

javascript - 在 ES6 中包装类函数并使用 super 的直接方法

javascript - 无法使用 Jest 和 babel-plugin-dynamic-import-node 测试动态导入的函数