7

我已使用以下命令将预设 react 和 env 添加到我的 react 项目中:

yarn 全局添加 babel-preset-react@6.24.1 babel-preset-env@1.5.2

My package.json file has updated the presets and looks like the following:
  {
  "name": "indecesion-app",
  "version": "1.0.0",
  "main": "index.js",
  "author": "ak",
  "license": "MIT",
  "dependencies": {
    "babel-preset-env": "1.5.2",
    "babel-preset-react": "6.24.1"
  }
}

甚至我的 node_modules 文件夹也更新了预设。

文件夹结构如下所示:

indecesion-app(应用程序的文件夹名称)

  • 节点模块
  • 上市
  • 源代码
  • 包.json
  • 纱线锁

    现在当我运行命令时

indecesion-app> babel src/app.js --out-file=public/scripts/app.js --presets=env,react

它显示错误:

Error: Couldn't find preset "env react" relative to directory "src"
at C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:293:19
at Array.map (<anonymous>)
at OptionManager.resolvePresets (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:275:20)
at OptionManager.mergePresets (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:264:10)
at OptionManager.mergeOptions (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:249:14)
at OptionManager.init (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
at File.initOptions (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\index.js:212:65)
at new File (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\index.js:135:24)
at Pipeline.transform (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
at transform (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\lib\babel\util.js:50:22)

请提出解决方案

4

9 回答 9

17

我遇到了同样的问题,只需添加引号即可解决:

babel src/app.js --out-file=public/scripts/app.js --presets="env,react"

于 2020-05-05T10:24:07.117 回答
4

首先,确保已经安装了以下软件包:

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react

然后运行以下命令:

babel src/app.js --out-file=public/scripts/app.js --presets="env,react"

希望这可以帮助 :)

于 2020-05-07T10:07:12.090 回答
2

我遇到了同样的问题,这看起来像是 Udemy 的 React 课程的一部分。

  1. 删除所有与 Babel 相关的全局 NPM/Yarn 模块。在 Windows 上,我的在 c:\users\user\appdata\roaming\npm\nodemodules 中,因为它是全局安装的。

  2. npm 初始化项目

  3. npm install --save-dev @babel/core @babel/cli

  4. npm install --save-dev @babel/preset-react @babel/preset-env

  5. npx babel .\src\app.js -o .\public\scripts\app.js --presets=@babel/preset-env,@babel/preset-react

于 2020-04-18T02:18:59.143 回答
2

这对我有用。删除 node_modules 目录中的所有 Babel。然后,正如 motoXORx90 所说的前 3 个步骤。

npm 初始化项目

npm install --save-dev @babel/core @babel/cli

npm install --save-dev @babel/preset-react @babel/preset-env

最后一步:

npx babel src/app.js --out-file=public/scripts/app.js --presets=@babel/preset-env,@babel/preset-react

于 2020-06-09T15:26:49.620 回答
1

只需使用代码

babel src/app.js --out-file=public/scripts/app.js --presets='env,react'
于 2021-04-08T16:55:03.250 回答
1

对于那些正在研究 UDEMY 的反应课程并面临此错误的人,这里有一个简单的修复程序。不要卸载任何东西......只需执行以下语句

babel src/app.js --out-file=public/scripts/app.js --presets='env,react'

而已

晚点再谢我。

于 2021-06-18T15:09:28.997 回答
0

我删除了 bable 并使用全局重新安装它

npm i -g @babel/cli.

然后我命令:yarn init,在我生成文件的根文件夹中package.json

然后:yarn add @babel/preset-react @babel/preset-env。现在在 package.json 中添加了预设的依赖项。

然后我做了babel src/app.js --out-file=public/scripts/app.js --presets=@babel/preset-react,@babel/preset-env

我现在收到一个错误

 internal/modules/cjs/loader.js:800
    throw err;
    ^

Error: Cannot find module '@babel/core'
Require stack:
- C:\Users\anil\AppData\Roaming\npm\node_modules\@babel\cli\lib\babel\options.js
- C:\Users\anil\AppData\Roaming\npm\node_modules\@babel\cli\lib\babel\index.js
- C:\Users\anil\AppData\Roaming\npm\node_modules\@babel\cli\bin\babel.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
    at Function.Module._load (internal/modules/cjs/loader.js:690:27)
    at Module.require (internal/modules/cjs/loader.js:852:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at _core (C:\Users\anil\AppData\Roaming\npm\node_modules\@babel\cli\lib\babel\options.js:29:16)
    at Object.<anonymous> (C:\Users\anil\AppData\Roaming\npm\node_modules\@babel\cli\lib\babel\options.js:138:76)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'C:\\Users\\anil\\AppData\\Roaming\\npm\\node_modules\\@babel\\cli\\lib\\babel\\options.js',
    'C:\\Users\\anil\\AppData\\Roaming\\npm\\node_modules\\@babel\\cli\\lib\\babel\\index.js',
    'C:\\Users\\anil\\AppData\\Roaming\\npm\\node_modules\\@babel\\cli\\bin\\babel.js'
  ]
}

我尝试通过添加安装@bable/core yarn add @babel/core,但同样的错误仍然存​​在

于 2020-04-09T15:09:46.627 回答
0

首先,确保已经安装了以下软件包:

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react

假设您安装了上面的软件包,在babel docs中,它声明要使用预设,您应该执行以下操作:

--presets=@babel/preset-react,@babel/preset-env

所以你的 babel 命令应该是这样的:

babel src/app.js --out-file=public/scripts/app.js --presets=@babel/preset-react,@babel/preset-env

希望这可以帮助!

于 2020-04-09T09:13:53.410 回答
0

我遵循了上述答案,但仍然无法使其运行。然后我注意到错误日志中写的是什么。听从他们的建议,以下命令完美运行

npx babel .\src\app.js -o .\public\scripts\app.js --presets=module:@babel\preset-env,module:@babel\preset-react

我的 package.json

"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.1",
"@babel/preset-env": "^7.11.0",
"@babel/preset-react": "^7.10.4"
于 2020-08-12T12:34:05.590 回答