gpt4 book ai didi

node.js - 无法安装babel插件 `transform-es2015-destructuring`

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:58 25 4
gpt4 key购买 nike

我尝试在 Mocha 测试中使用 Babel 插件 transform-es2015-destructuring,但遇到问题:

$ node_modules/mocha/bin/mocha --compilers js:babel-core/register test/testMain.js
/home/my/project/node_modules/babel-core/lib/transformation/file/options/option-manager.js:313
throw new Error("Couldn't find preset " + (0, _stringify2.default)(val) + " relative to directory " + (0, _stringify2.default)(dirname));
^

Error: Couldn't find preset "transform-es2015-destructuring" relative to directory "/home/my/project"

但是,当我尝试安装插件时一切正常:

$ npm install babel-plugin-transform-es2015-destructuring
myproject-reactjs@1.8.1 /home/my/project
└── babel-plugin-transform-es2015-destructuring@6.9.0

如果我直接使用 Babel 也会遇到同样的问题:

./node_modules/babel-cli/bin/babel.js --plugins transform-es2015-destructuring test/testMain.js 
Error: Couldn't find preset "transform-es2015-destructuring" relative to directory "/home/my/project"

换句话说,NPM 告诉我我有这个插件,但 Babel 告诉我我没有。我很想相信 NPM 是正确的,但如果是的话,我无法弄清楚为什么 Babel 找不到(明确安装的)转换包。

这是我的.babelrc:

{
"presets": [
"es2015",
"react",
"transform-es2015-destructuring",
"transform-object-rest-spread"
]
}

这是我在package.json中的dependency条目的相关部分:

"babel": "^6.5.2",
"babel-plugin-transform-es2015-destructuring": "^6.9.0",
"babel-plugin-transform-object-rest-spread": "^6.8.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-react": "^6.11.1",

有人可以建议我如何解决这个问题吗?

最佳答案

这不是预设,它是插件,因此请确保将其设置为插件而不是预设.

在你的.babelrc中:

{
"presets": [
"es2015",
"react"
],
"plugins": [
"transform-es2015-destructuring",
"transform-object-rest-spread"
]
}

在这种情况下,您可以使用 --plugins 进行排除

预设本质上是插件的集合。

顺便说一句,您可以使用 node_modules/.bin/babel 来使用本地安装的可执行文件,而不是尝试在模块本身中查找它们。

关于node.js - 无法安装babel插件 `transform-es2015-destructuring`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38601146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com