I'm trying to transpile an ES6 file using Babel - but NPM doesn't like the command babel src --out-dir output which is run using a script in my package.json.
However , when I install Babel globally and run the same command without using the script, it works just fine.
I would like to avoid installing Babel globally if I don't have to.
Error (see debug log below) TypeError: src/person.js: Expected 'input' to be a 'string', got 'number' And looks like the command babel src --out-dir output "fails on your system"
Project setup
-> root
-> node_modules
-> output
-> src
- person.js
- .babelrc
- package.json
package.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"
}
}
person.js
class Person {
constructor(name) {
this.name = name;
}
}
.babelrc
{
"presets": ["es2015"]
}
Debug log
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 ]
I'm really not sure where this is going wrong, and can't find any posts on the error.
Thanks for your help
Problem solved (by fluke)!
I'm still unsure what the issue was, however I have since added webpack to my project, and added a further script to run the webpack command. This worked fine, so I tried the npm run build command again and it worked (I checked and babel-cli -g was uninstalled too).
If anyone can shed any light on what went wrong, that would be great!!!
Thanks
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.