2015-12-08 6 views
0

У меня есть два файла.Экспорт и импорт в Node.js 4.2.1

other.js

export var test = 12; 
export var test2 = 'testing'; 

main.js

import other from "other.js"; 
console.log(other); 

я пишу node main.js. Я ожидаю, что это:

{ 
    test: 12, 
    test2: 'testing' 
} 

Но я получаю сообщение об ошибке:

(function (exports, require, module, __filename, __dirname) { import oth from "other.js"; 
                   ^^^^^^ 

SyntaxError: Unexpected reserved word 

Node.js версии 4.2.1. Что не так?

+0

Вы уверены, что не хотите «требовать», или вы играете с ES2015 – adeneo

ответ

2

Узел не поддерживает import, export (еще? Кто знает). См. https://nodejs.org/en/docs/es6/ для получения списка функций поддержки.

Вам либо необходимо использовать модули CommonJS, либо использовать транспилятор, такой как Babel.

+0

У нас нет обмана? – Bergi

+0

Я так и думал, но не смог найти. Если вы его найдете, дайте мне знать :) –

+1

Я предполагаю, что я просто сделал (ключевые слова: 'поддержка модуля узла [es6]') – Bergi

1

Вы должны импортировать все и присвоить им псевдоним ...

Но вы не можете сделать это без Transpiler, ES6 модули не доступны ...

import * as other from './other.js'; 
 

 
console.log(other);

Смежные вопросы