У меня возникли проблемы с написанием быстрого теста для моего приложения экспресс-узла. Проблема в том, что в файле моего сервера я использую es6 import для импорта своего пользовательского класса. Итак, есть такая строка:
import MyClass from 'src/myclass.js';
мой тестовый скрипт выглядит так:
npx babel-node srv/server.js
Я получаю следующую ошибку:
Syntax error: Unexpected identifier
выделено имя модуля после импорта
Так почему я делаю это в первую очередь? Я подумал, что было бы неплохо тестировать мое веб-приложение без запуска транспортера кода каждый раз, когда мне нужно его протестировать.
Я уже пытался поместить --experimental-modules в тестовую команду, к сожалению, у меня это не сработало. Моя версия узла: 11.14
Моя точка входа такая
import MyClass form 'src/myclass.js';
var myClass = new MyClass();
мой файл класса такой
export default MyClass {
constructor() {
...
}
}
Моя конфигурация Babel
require('@babel/register')({
only: [__dirname + '/src', __dirname + '/srv'],
ignore: [__dirname + 'node_modules'],
presets: ['@babel/preset-env']
});
var presets = [
[
'@babel/preset-env',
{
'useBuiltIns': 'entry',
'corejs': 'core-js@3'
}
]
];
var plugins = [
[
'module-resolver',
{
'root': ['./src'],
'alias': {
'lance': './node_modules/lance-gg/dist'
}
}
]
];
module.express = {
presets,
plugins
};
Поэтому я хотел бы иметь возможность запустить свой сервер узлов для тестирования своего кода без выполнения переноса кода (я сделаю это только в том случае, если мне понадобится производственная сборка моего приложения).
Я не мог понять, как именно я могу это сделать. Буду признателен за любую помощь или ссылку на какое-либо руководство.