Node.js 用babel和nodejs导出函数的问题
我正在webstorm中使用babeljs。 babel的论点如下: --源映射--输出文件$FileNameWithoutExtension$-compiled.js$FilePath$ 我有以下es6代码:Node.js 用babel和nodejs导出函数的问题,node.js,babeljs,Node.js,Babeljs,我正在webstorm中使用babeljs。 babel的论点如下: --源映射--输出文件$FileNameWithoutExtension$-compiled.js$FilePath$ 我有以下es6代码: export function primeFactors(num) { let res = []; let n = 2; while (num > 1) { while(num%n ===0) { res.push(
export function primeFactors(num) {
let res = [];
let n = 2;
while (num > 1) {
while(num%n ===0) {
res.push(n);
}
n++;
}
return res;
}
它被传送到
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.primeFactors = primeFactors;
function primeFactors(num) {
var res = [];
var n = 2;
while (num > 1) {
while (num % n === 0) {
res.push(n);
}
n++;
}
return res;
}
//# sourceMappingURL=numUtils-compiled.js.map
"use strict";
var _libNumUtils = require("lib/numUtils");
//# sourceMappingURL=ex3-compiled.js.map
我有一个脚本需要这个文件
import {primeFactors} from "lib/numUtils";
它被传送到
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.primeFactors = primeFactors;
function primeFactors(num) {
var res = [];
var n = 2;
while (num > 1) {
while (num % n === 0) {
res.push(n);
}
n++;
}
return res;
}
//# sourceMappingURL=numUtils-compiled.js.map
"use strict";
var _libNumUtils = require("lib/numUtils");
//# sourceMappingURL=ex3-compiled.js.map
当我使用nodejs运行脚本时,我得到
export function primeFactors(num) {
^^^^^^
SyntaxError: Unexpected reserved word
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object. (J:\webstorm_workspace\euler\ex3-compiled.js:3:20)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
导出函数参数(num){
^^^^^^
SyntaxError:意外的保留字
位于exports.runInThisContext(vm.js:73:16)
在模块处编译(Module.js:443:25)
在Object.Module.\u extensions..js(Module.js:478:10)
在Module.load(Module.js:355:32)
在Function.Module.\u加载(Module.js:310:12)
at Module.require(Module.js:365:17)
根据需要(module.js:384:17)
对象。(J:\webstorm\u workspace\euler\ex3 compiled.js:3:20)
在模块处编译(Module.js:460:26)
在Object.Module.\u extensions..js(Module.js:478:10)
原因可能是什么?您确定正在运行传输脚本吗?我从终端“node ex3 compiled.js”运行你能用babel节点运行原始文件吗?当我用babel节点运行时,我得到了相同的结果。我想我知道原因。我的lib/numultils.js文件被编译为lib/numultils-compiled.js,但我的原始文件保持不变,因此我尝试用es5解释器运行es6代码。如果我从“lib/numultils compiled”改为导入{primeFactors}我相信有更好的解决办法