Node.js - SyntaxError: Importação inesperada de fichas
Eu não... não entendo o que está errado. Nó v5.6.0 NPM v3.10.6
O código:
function (exports, require, module, __filename, __dirname) {
import express from 'express'
};
O erro:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:140:18)
at node.js:1001:3
388
3
Desde Nó 13, você pode usar ou a extensão .mjs, ou definir "type": "module" no seu pacote.json. Você don't*** precisa utilizar a bandeira `--experimental-modules'.
Atualização 2: Desde Nó 12, você pode utilizar a extensão
.mjs', ou definir
"type": "module"no seu pacote.json. E você precisa executar o nó com a bandeira
--experimental-modules'.Update: Em Nó 9, ele é habilitado atrás de uma bandeira, e utiliza a extensão `.mjs'.
Embora a 'importação' faça parte do ES6, infelizmente ainda não é suportada no NodeJS por padrão, e só muito recentemente aterrissou suporte em navegadores.
Veja tabela de compatibilidade do navegador no MDN e esta edição do Nó.
From James M Snell's Update on ES6 Modules in Node.js (Fevereiro 2017):
Até o suporte aparecer nativamente, você'terá que continuar utilizando as clássicas declarações de
require
:Se você realmente quer usar as novas funcionalidades do ES6/7 no NodeJS, você pode compilá-lo usando Babel. Aqui's um servidor de exemplo.
Infelizmente, o Node.js ainda não suporta ES6's
importar
.Para realizar o que você'está tentando fazer (importar o módulo Express), este código deve ser suficiente
Além disso, certifique-se de que tem o Express instalado, executando
Veja o Node.js Docs para mais informações sobre o Node.js de aprendizagem.
Error: SyntaxError: Importação inesperada ou SyntaxError: Ficha inesperada exportar***
Solução: Mude todas as suas importações como exemplo
E também alterar o seu
export default = foo;
paramodule.exports = foo;