Node.js - SyntaxError: Import: Odottamaton token

En ymmärrä, mikä on vialla. Solmu v5.6.0 NPM v3.10.6

Koodi:

function (exports, require, module, __filename, __dirname) {
    import express from 'express'
};

Virhe:

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
Ratkaisu

Päivitys 3: Node 13 jälkeen voit käyttää joko .mjs-päätettä tai asettaa "type": "module" paketti.json-tiedostossa. Sinun ei tarvitse käyttää --experimental-modules-lippua.

Päivitys 2: Node 12 jälkeen voit käyttää joko .mjs-laajennusta tai asettaa "type": "module"paketti.jsonissa. Ja sinun on ajettava nodea --experimental-modules-lipulla.

Päivitys: Node 9:ssä se on otettu käyttöön lipun takana, ja se käyttää .mjs-laajennusta.

node --experimental-modules my-app.mjs

Vaikka import on todellakin osa ES6:sta, sitä ei valitettavasti vielä tueta NodeJS:ssä oletusarvoisesti, ja se on vasta hiljattain saanut tuen selaimissa.

Katso selainyhteensopivuustaulukko MDN:ssä ja tämä Noden ongelma.

James M Snell'n Update on ES6 Modules in Node.js (helmikuu 2017):

Työ on käynnissä, mutta se vie jonkin aikaa - Tällä hetkellä arvioimme, että se kestää ainakin noin vuoden.

Kunnes tuki ilmestyy natiivisti, sinun'on jatkettava klassisten require-lausekkeiden käyttöä:

const express = require("express");

Jos todella haluat käyttää uusia ES6/7-ominaisuuksia NodeJS:ssä, voit kääntää sen Babelin avulla. Tässä'on esimerkkipalvelin.

Kommentit (11)

Valitettavasti Node.js ei vielä tue ES6:n importtia.

Tämän koodin pitäisi riittää siihen, mitä yrität tehdä (tuoda Express-moduulin).

var express = require("express");

Varmista myös, että Express on asennettu ajamalla komento

$ npm install express

Katso Node.js Docs lisätietoja Node.js:n oppimisesta.

Kommentit (5)

Error: SyntaxError: Import tai SyntaxError: SyntaxError: Unexpected token import tai SyntaxError: Unexpected token import: export


Ratkaisu: Muuta kaikki tuontisi esimerkin mukaisesti.

const express               = require('express');
const webpack               = require('webpack');
const path              = require('path');
const config                = require('../webpack.config.dev');
const open              = require('open');

Ja muuta myös export default = foo; muotoon module.exports = foo;.

Kommentit (2)