Ошибка при импорте одного файла в другой в Node.JS - PullRequest
0 голосов
/ 28 мая 2019

Я использую импорт при импорте некоторых функций из моего файла Practice.js в другой файл .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 не настроен в вашей системе.

Но я не уверен, как поступить с этим. Кто-нибудь может помочь мне как это сделать?

1 Ответ

0 голосов
/ 28 мая 2019

Переименуйте ваш основной файл (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 с его экспериментальным загрузчиком модулей.

Вы можете прочитать больше здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...