Я использую импорт при импорте некоторых функций из моего файлаpractice.js в другой файл.js.
practice.js file:-
function sum(x,y){
return x+y;
}
const pi = 3.14;
module.exports = {
sum : sum,
pi:pi
};
другой файл .js: -
import {sum,pi} from "./practice.js";
console.info("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 не настроен в вашей системе.
Но я не уверен, как поступить с этим. Может ли кто-нибудь помочь мне, как это сделать?
Переименуйте ваш основной файл (other.js) в other.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 с его экспериментальным загрузчиком модулей.
Вы можете прочитать больше здесь