Неожиданный экспресс-токен, импорт js - PullRequest
0 голосов
/ 25 марта 2019

Ниже мое местоположение проекта на GitHub:

https://github.com/nandy2013/MERN-Stack-Dev

Я просто пытаюсь импортировать метод из файла js в другой файл js с реализацией ниже:

is-empty.js

const isEmpty = value =>
value === undefined ||
value === NULL ||
(typeof value === 'object' && Object.keys(vale).length === 0) ||
(typeof value === 'string' && value.trim().length === 0);

module.exports = isEmpty;

register.js

//code
import isEmpty from './is-empty';
//code

Фрагмент:

enter image description here Я получаю сообщение об ошибке ниже

C: \ Users \ 1217688 \ Desktop \ devconnector \ validation \ register.js: 2 import isEmpty from'./пустой';^^^^^^

SyntaxError: Неожиданный импорт токена при новом сценарии (vm.js: 51: 7) в createScript (vm.js: 138: 10) в Object.runInThisContext (vm.js: 199: 10) в Module._compile (module.js: 624: 28) в Object.Module._extensions..js (module.js: 671: 10) в Module.load (module.js: 573: 32) в tryModuleLoad (module.js: 513: 12) в Function.Module._load (module.js: 505: 3)

Любая помощь, пожалуйста!

Ответы [ 2 ]

1 голос
/ 25 марта 2019

По умолчанию, node.js не поддерживает операторы import ECMAScript, поэтому вместо записи import isEmpty from './is-empty'; вы должны написать const isEmpty = require('./is-empty');.

Если вы предпочитаете использовать операторы import, вы можетевключить поддержку модулей ECMAScript, добавив аргумент --experimental-modules в Node.Но имейте в виду, что их поддержка все еще является экспериментальной, и их не рекомендуется использовать в производственных средах.В вашем случае вам нужно отредактировать файл package.json вашего проекта и заменить команду сценария start на:

node --experimental-modules ./server.js
0 голосов
/ 25 марта 2019

Последние версии node.js поддерживают ES6. Таким образом, вы можете экспортировать свою функцию напрямую и импортировать ее.

const isEmpty = value => {
  value === undefined ||
    value === NULL ||
    (typeof value === 'object' && Object.keys(vale).length === 0) ||
    (typeof value === 'string' && value.trim().length === 0);
}

export default isEmpty; 

А в другой файл вы можете импортировать как «import isEmpty from './isEmpty'». Если вы экспортируете только одну функцию, используйте экспорт по умолчанию.

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