0

我正在尝试使用 Babel 转换 ES6 文件 - 但 NPM 不喜欢使用我的 package.json 中的脚本运行的命令babel src --out-dir 输出。

但是,当我全局安装 Babel 并在不使用脚本的情况下运行相同的命令时,它工作得很好。

如果不需要的话,我想避免全局安装 Babel。

错误(请参阅下面的调试日志) TypeError: src/person.js: Expected 'input' to be a 'string', got 'number' 看起来像命令babel src --out-dir output "fails on your system"

项目设置

-> root
   -> node_modules
   -> output
   -> src
      - person.js
   - .babelrc
   - package.json

包.json

{
  "name": "Test",
  "version": "0.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel src --out-dir output"
  },
  "author": "Me",
  "license": "UNLICENSED",

  "devDependencies": {
    "babel-cli": "~6.11.4",
    "babel-preset-es2015": "^6.9.0"
  }

}

人.js

class Person {
    constructor(name) {
        this.name = name;
    }
}

.babelrc

{
  "presets": ["es2015"]
}

调试日志

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\node.exe',
1 verbose cli   'C:\\Program Files (x86)\\node_modules\\npm\\bin\\npmcli.js',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using npm@2.15.8
3 info using node@v4.4.7
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info prebuild Codemode@0.0.0
6 info build Test@0.0.0
7 verbose unsafe-perm in lifecycle true
8 info Test@0.0.0 Failed to exec build script
9 verbose stack Error: Test@0.0.0 build: `babel src --out-dir output`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\lifecycle.js:217:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:172:7)
9 verbose stack     at ChildProcess.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:172:7)
9 verbose stack     at maybeClose (internal/child_process.js:827:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid Codemode@0.0.0
11 verbose cwd C:\Users\me\Dev\Test
12 error Windows_NT 6.1.7601
13 error argv "C:\\Program Files (x86)\\node.exe" "C:\\Program Files (x86)\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
14 error node v4.4.7
15 error npm  v2.15.8
16 error code ELIFECYCLE
17 error Test@0.0.0 build: `babel src --out-dir output`
17 error Exit status 1
18 error Failed at the Test@0.0.0 build script 'babel src --out-dir output'.
18 error This is most likely a problem with the Test package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     babel src --out-dir output
18 error You can get information on how to open an issue for this project with:
18 error     npm bugs Test
18 error Or if that isn't available, you can get their info via:
18 error
18 error     npm owner ls Test
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

我真的不确定这是哪里出错了,也找不到关于错误的任何帖子。

谢谢你的帮助

4

1 回答 1

0

问题解决了(侥幸)!

我仍然不确定问题是什么,但是我已经将 webpack 添加到我的项目中,并添加了另一个脚本来运行webpack命令。这工作得很好,所以我再次尝试了npm run build命令并且它工作了(我检查并且 babel-cli -g 也被卸载了)。

如果有人能解释出了什么问题,那就太好了!!!

谢谢

于 2016-07-21T15:15:24.917 回答