Я хочу создать сервер в NodeJS, используя экспериментальные модули es6 с Express, но кажется, что то, что работало отлично в последние дни, перестало работать без видимой причины. И мой код в прошлые дни был намного сложнее, чем то, что я пытаюсь запустить прямо сейчас, так что это, вероятно, что-то глупое, что я забыл.
Когда я запускаю свой сервер, я получаю следующую ошибку, но не могу найти, что не так.
> node --experimental-modules src/app.js
(node:30824) ExperimentalWarning: The ESM module loader is experimental.
A:\projects\olympiades\t05\src\app.js:2
import express from 'express';
^^^^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:51:7)
at createScript (vm.js:136:10)
at Object.runInThisContext (vm.js:197:10)
at Module._compile (module.js:613:28)
at Object.Module._extensions..js (module.js:660:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at createDynamicModule (internal/loader/Translators.js:50:15)
at setExecutor (internal/loader/CreateDynamicModule.js:49:23)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! t05@1.0.0 start: `node --experimental-modules src/app.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the t05@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
А мой src/app.js
код так же прост:
'use strict';
import express from 'express';
const app = express();
app.use('/', express.static(process.cwd() + '/views'));
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', {page: 'login'});
});
Я попытался выполнить поиск в Google, но единственные результаты, которые я получил, были import
, который не был определен, и большинство из них добавили флаг --experimental-modules
при запуске js, но это не мой случай, и это не import
, который не определен но export
.
Я тоже пытался без 'use strict';
, но тот же результат
Я не понимаю, почему узел решил перестать работать.
Обновление 1
Я забыл включить информацию о своей версии, вот они:
- NodeJS: v9.8.0
- NPM: 5,8,0
- экспресс: ^ 4.16.3
- mongodb: ^ 3.0.7
- ejs: ^ 2.5.9
- body-parser: ^ 1.18.2
- подчеркивание: ^ 1.9.0
Обновление 2
Я не могу добавлять другие модули, так как я делаю это, чтобы попрактиковаться в предстоящем событии, и это те модули, которые будут установлены во время события. Так что в других мирах я не могу использовать babel или машинопись.
Обновление 3
Я пытался открыть проект, который работал ранее, и похоже, что NodeJS глобально перестал работать. Я попытаюсь переустановить NodeJS.
Обновление 4
Даже после полной деинсталляции и переустановки NodeJS я все равно получаю ту же самую ошибку.
Что% $ # & @ происходит серьезно?
Какой следующий шаг сейчас? Должен ли я создать проблему на GitHub сейчас?