获取错误 "babel" 未被识别为内部或外部命令,

Getting error "babel" is not recognized as an internal or external command,

我有一个简单的 tests.js 文件,我希望用源映射文件跟进该文件。我已尝试启动依赖项,但提示显示错误。如果哪位大侠能指出问题和解决方案,将不胜感激^^

tests.js

var add = (...arr) => {
    return arr.reduce((sum, el) =>{
        return sum+el;
    }, 0)
}
console.log(add(1,2,3));

我最初尝试过这些命令

npm install -g babel-cli

npm install babel-preset-es2015

babel tests.js --out-file tests.dist.js --source-maps --presets=es2015

但是收到同样的错误。我遵循了社区的另一种解决方案,但仍然没有用。解决方案是删除 node_modules 并重新启动依赖项。

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

并在依赖项中添加"start": "nodemon --exec babel-node index.js",。 我检查了node_modules,它也存在这些文件。

node_modules/.bin/babel-node

node_modules/.bin/babel-node.cmd - 仅 windows

node_modules/@babel/node/bin/babel-node.js

The solution I followed 仍然,我不知道如何解决这个问题。这是我第一次使用 node 和 babel。我的节点版本是 v16.13.1

已编辑

文件夹结构

Y:.
|   index.html
|   package-lock.json
|   package.json
|   tests.js
|   tree.txt
|   
\---node_modules
    |   .package-lock.json
    |   
    +---.bin
    |       babel
.....

好大!

package.json

{
  "dependencies": {
    "@babel/cli": "^7.16.8",
    "@babel/core": "^7.16.12",
    "@babel/preset-env": "^7.16.11"
  }
}

.babelrc

{
    "presents": [
        "@babel/preset-env"
    ]
}

./node_modules/@babel/cli/bin/babel.js

require("../lib/babel");

命令使用bash后-

./node_modules/@babel/cli/bin/babel.js example.js --out-file main.dist.js

错误

Error: Unknown option: .presents. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.
    at throwUnknownError (Y:\babel work\node_modules\@babel\core\lib\config\validation\options.js:133:27)
    at Y:\babel work\node_modules\@babel\core\lib\config\validation\options.js:118:5
    at Array.forEach (<anonymous>)
    at validateNested (Y:\babel work\node_modules\@babel\core\lib\config\validation\options.js:94:21)
    at validate (Y:\babel work\node_modules\@babel\core\lib\config\validation\options.js:85:10)
    at Y:\babel work\node_modules\@babel\core\lib\config\config-chain.js:209:34
    at cachedFunction (Y:\babel work\node_modules\@babel\core\lib\config\caching.js:60:27)
    at cachedFunction.next (<anonymous>)
    at evaluateSync (Y:\babel work\node_modules\gensync\index.js:251:28)
    at sync (Y:\babel work\node_modules\gensync\index.js:89:14) {
  code: 'BABEL_UNKNOWN_OPTION'
}

嗨, [更新]

在本地安装 babel

  • npm i @babel/core @babel/cli @babel/preset-env

  • 在package.json里面添加npm脚本

  "scripts": {
    "start-babel": "babel example.js --out-file main.dist.js"
  },
  • 您需要 .babelrc 文件来进行所有配置
// basic need
{
    "presets": [
        "@babel/preset-env"
    ]
}
  • 运行 脚本 npm run start-babel 这将创建 main.dist.js js 转译文件

  • 您需要 .babelrc 具有一些配置的文件

  • 如果你已经在本地安装了@bable/core @babel/cli @bable/preset-env

    • 那你就得像这样使用babel.js of node_modules的路径

  • 如果您使用 -g 全局安装它,那么您不需要路径,只需使用 babel