Babel.js 找不到相对于目录的预设“env”

siv3szwd  于 2022-12-08  发布在  Babel
关注(0)|答案(5)|浏览(212)

到目前为止,我在尝试使用env预设时都没有成功。我浏览了其他人提出的git问题,如this,并实现了一些似乎对其他人有效的建议,但到目前为止运气还不好。
下面是我的工作:
package.json

"bundle": "browserify ./client/app.js -d -o ./public/o.js -t [ babelify --presets [ env ] ]",
"devDependencies": {
  "@babel/cli": "^7.0.0-beta.40",
  "@babel/preset-env": "^7.0.0-beta.40",
  "babel-core": "^6.26.0",
  "babelify": "^8.0.0"
...

错误如下:

Error: Couldn't find preset "env" relative to directory "/Users/user/Documents/git/ts/client" while parsing file: /Users/user/Documents/git/ts/client/app.js

有什么我可能错过的吗?

qvtsj1bj

qvtsj1bj1#

许多与此相关的github问题表明babel-preset-env没有安装。
实际上,它似乎不在您的package.json中。通过以下操作添加并安装它:
npm install babel-preset-env --save

utugiqy6

utugiqy62#

虽然前面的答案确实提供了正确的解决方案,而且它也能工作。但是它应该作为一个dev依赖项而不是核心依赖项来安装。因为它只在开发工作中需要。如果你使用npm,你可以用途:
npm install --save-dev babel-preset-env
或者,如果您使用纱作为 Package 管理器,则用途:
yarn add --dev babel-preset-env

vsikbqxv

vsikbqxv3#

您只需要安装babel-preset-env,您的代码就会正确编译。
npm install babel-preset-env

edqdpe6u

edqdpe6u4#

基本上,这种类型的错误是由于babel-core,babel-preset-env和babel-loader的版本不匹配造成的。

"devDependencies": {
    "@babel/core": "^7.11.6",
    "@babel/preset-env": "^7.11.5",
    "babel-loader": "^8.1.0",
    "html-webpack-plugin": "^4.5.0",
    "install": "^0.13.0",
    "npm": "^6.14.8",
    "regenerator-runtime": "^0.13.7",
    "webpack": "^4.44.2",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0"
  }
eimct9ow

eimct9ow5#

你可以检查.babelrc文件是否存在于目录的上一级或上一级目录中,直接删除即可

相关问题