我正在使用import,同时将我的Practice.js文件中的一些功能导入到different.js文件中。
practice.js file:-
function sum(x,y){
return x+y;
}
const pi = 3.14;
module.exports = {
sum : sum,
pi:pi
};
different.js文件:-
import {sum,pi} from "./practice.js";
console.log("2 pie: "+sum(pi,pi));
现在,当我使用require时,输出正确并且没有错误。 当我使用导入时,出现以下错误:-
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:749:23)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:816:10)
at Module.load (internal/modules/cjs/loader.js:672:32)
at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
at Function.Module._load (internal/modules/cjs/loader.js:604:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:868:12)
at internal/main/run_main_module.js:21:11
我问过我的同事,他们告诉我这是关于ES6的,并且Babel没有在您的系统中配置。
但是我不确定如何进行此操作。有人可以帮我怎么做吗?
答案 0 :(得分:0)
将主文件(different.js)重命名为different.mjs。 将您的Practice.js文件重命名为Practice.mjs,使其看起来像这样:
function sum(x, y) {
return x + y;
}
const pi = 3.14;
export {sum, pi};
然后运行node --experimental-modules different.mjs
以使用其实验性模块加载器运行Node。
您可以阅读更多here