#es6-modules #apollo-server #yarn-workspaces
#es6-модули #apollo-server #yarn-рабочие пространства
Вопрос:
Мое рабочее пространство yarn состоит из следующего:
- общий (обычный старый узел 14.6)
- сервер (сервер Apollo с Nodemon / Babel)
- web (создать приложение React)
Я могу идеально обмениваться кодом между различными рабочими пространствами.
Проблема в том, что если я попытаюсь использовать модули ES6 в общей рабочей области. Я добавляю «type»: «module» в свой packa&e.json и переключаю все на модули ES6. В общей рабочей области все работает должным образом, я могу получить доступ к общему коду из веб-рабочей области, но при запуске сервера Apollo я получаю следующую ошибку:
Ошибка [ERR_REQUIRE_ESM]: необходимо использовать импорт для загрузки модуля ES: require() модулей ES не поддерживается… требовать () of … является ли файл модуля ES файлом .js, ближайший родительский packa&e.json которого содержит «type»: «module», который определяет все файлы .js в этой области пакета как модули ES. Вместо этого переименовать index.js чтобы закончить на .cjs, измените требуемый код на использование import() или удалите «type»: «module» из /Users/i834619/Desktop/ReactProjects/yws_react_apollo/common/packa&e.json. … код: ‘ERR_REQUIRE_ESM’
Комментарии:
1. Итак, вы говорите, что сначала все работает нормально, и вы получаете ошибку только при перезапуске?
2. Извините за неясность — я обновил вопрос выше. Он отлично работает во всех 3 с общим ванильным узлом. С модулями ES6 это прекрасно работает внутри common, между common и web, но не между common и сервером.