Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 用babel和nodejs导出函数的问题_Node.js_Babeljs - Fatal编程技术网

Node.js 用babel和nodejs导出函数的问题

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(

我正在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(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}我相信有更好的解决办法