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
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'.
node --experimental-modules my-app.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):
O trabalho está em andamento, mas vai levar um pouco de time - We's atualmente estão olhando para cerca de um ano, pelo menos.
Até o suporte aparecer nativamente, você'terá que continuar utilizando as clássicas declarações de require
:
const express = require("express");
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
var express = require("express");
Além disso, certifique-se de que tem o Express instalado, executando
$ npm install express
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
const express = require('express');
const webpack = require('webpack');
const path = require('path');
const config = require('../webpack.config.dev');
const open = require('open');
E também alterar o seu export default = foo;
para module.exports = foo;