Neyin yanlış olduğunu anlamıyorum. Node v5.6.0 NPM v3.10.6
Kod:
function (exports, require, module, __filename, __dirname) {
import express from 'express'
};
Hata:
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
Güncelleme 3: Node 13'den bu yana, .mjs uzantısını kullanabilir veya package.json dosyanızda "type": "module" ayarını yapabilirsiniz. Deneysel-modüller bayrağını kullanmanıza **gerek yoktur.
Güncelleme 2: Node 12'dan bu yana, .mjs
uzantısını kullanabilir veya package.json dosyanızda "type": "module"
ayarını yapabilirsiniz. Ve node'u --experimental-modules
bayrağı ile çalıştırmanız gerekir.
Güncelleme: Node 9'de, bir bayrağın arkasında etkinleştirilir ve .mjs
uzantısını kullanır.
node --experimental-modules my-app.mjs
import` gerçekten ES6'nın bir parçası olsa da, ne yazık ki NodeJS'de varsayılan olarak henüz desteklenmemektedir ve tarayıcılarda çok yakın zamanda desteklenmiştir.
MDN'deki tarayıcı uyum tablosu ve bu Node sorunu bölümlerine bakın.
James M Snell'in Update on ES6 Modules in Node.js (Şubat 2017) başlıklı yazısından:
Çalışmalar devam ediyor ancak biraz zaman alacak - Şu anda en az bir yıla bakıyoruz.
Destek yerel olarak ortaya çıkana kadar, klasik require
ifadelerini kullanmaya devam etmeniz gerekecek:
const express = require("express");
NodeJS'deki yeni ES6/7 özelliklerini gerçekten kullanmak istiyorsanız, Babel kullanarak derleyebilirsiniz. İşte örnek bir sunucu.
Ne yazık ki, Node.js henüz ES6'nın import
özelliğini desteklemiyor.
Yapmaya çalıştığınız şeyi başarmak için (Express modülünü içe aktarmak), bu kod yeterli olacaktır
var express = require("express");
Ayrıca, Express'in yüklü olduğundan emin olmak için
$ npm install express
Node.js öğrenme hakkında daha fazla bilgi için Node.js Docs bölümüne bakın.
Hata: Sözdizimi Hatası: Beklenmeyen belirteç import veya SyntaxError: Beklenmeyen belirteç dışa aktar
Çözüm: Tüm içe aktarmalarınızı örnek olarak değiştirin
const express = require('express');
const webpack = require('webpack');
const path = require('path');
const config = require('../webpack.config.dev');
const open = require('open');
Ayrıca export default = foo;
ifadenizi module.exports = foo;
olarak değiştirin