Javascript Babel 6:传递的参数太多错误
当我尝试运行使用babel 6的服务器时,出现以下错误:Javascript Babel 6:传递的参数太多错误,javascript,babeljs,Javascript,Babeljs,当我尝试运行使用babel 6的服务器时,出现以下错误: 错误:/path/to/myapp/server.js:t。标识符:传递的参数太多。收到3个,但最多只能收到1个 下面是我的package.json的样子: { "scripts": { "start": "node app.js", "postinstall": "bash ./scripts/npm-post.sh", "test": "mocha test" }, "dependencies": { "
错误:/path/to/myapp/server.js:t。标识符:传递的参数太多。收到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')
console.log('hi')
和server.js
require('babel-core/register')({
"presets": [
"es2015",
'react'
]
});
require('./server.js')
console.log('hi')
hi
没有打印到控制台。我已经解决了这个问题,它似乎是babel-plugin-transform-react jsx的v6.0.14版本中的一个bug,这里:
最新版本的babel react预置需要该插件的v6.0.14版本
babel-plugin-transform-resact-jsx的最新版本(v6.0.18)修复了这个问题。
因此,当我使用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",
我通过卸载babel preset react
插件,然后重新安装,使其安装了最新的依赖项,从而解决了这个问题。如果这不起作用,您可能需要rm-rf节点_模块
并删除您的shrinkwrap
,如果有,然后重新运行npm安装