#javascript #webpack #ecmascript-6 #babeljs #create-react-app
#javascript #webpack #ecmascript-6 #babeljs #создать-реагировать-приложение
Вопрос:
В моем приложении Create-React у меня есть JS-файл, который выполняет некоторое тестирование. Этот тестовый файл импортирует модули из моего приложения с помощью импорта / экспорта ES6. Эти импортированные модули, в свою очередь, импортируют другие модули. (Не node_modules, а самописные).
Каков предполагаемый способ запуска этого тестового файла с консоли?
Я не могу просто запустить файл таким node src/core/testing.js
образом, потому что node не поддерживает операторы ES6-import and -export, и даже если бы я использовал require
— требуемый файл все еще используется import
, и я не хочу это менять.
еще немного контекста:
Насколько я понимаю, как CRA работает с Babel и Webpack, код должен быть «построен» так, чтобы Babel преобразовал ES6 в CommonJS, а Webpack импортировал все зависимости. То, что я ошибочно попытался, это просто запустить файл, как если бы это был обычный JS-файл. Итак, я должен сначала «собрать» этот тестовый файл со всеми модулями, которые он импортирует, и его зависимостями, прежде чем запускать его в консоли. Это правильно? Как мне это сделать?
Комментарии:
2.
{"type":"module"}
какpackage.json
и в этой папке, будет3. @AndreaGiammarchi не работает, я получаю это сейчас:
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: ..src/<Path To Test File>.js
@mplungjan Я пробовал это, получая ошибку:Error: Not supported
как обещают отклонение инструкции import4. вы либо
import
илиrequire
… если какой-либо из ваших файлов используетсяrequire
, тоimport
происходит сбой, и наоборот.5. Да, именно поэтому в моем тестовом файле я хочу использовать
import
, потому что файлы, которые я импортирую, также используютсяimport
. Пожалуйста, просмотрите добавленный контекст, который я только что добавил к Q.