У меня есть модуль javascript, который необходимо импортировать в две разные кодовые базы:
- nodejs (8.11.3 и выше НЕ переносятся с использованием babel)
- vuejs 2.5.16 (в комплекте через веб-пакет и переносится babel)
У меня проблемы с экспортом файла, так как обе базы кода могут его импортировать.
Если я попытаюсь экспортировать его, используя commonJS, примерно так:
module.exports = myFunc
Бабель жалуется с Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
Если я попытаюсь экспортировать его, используя commonJS, вот так:
exports = myFunc
Бабель жалуется с Uncaught ReferenceError: exports is not defined
Если я попытаюсь экспортировать его, используя синтаксис экспорта es2015, примерно так:
export default myFunc
Nodejs будет жаловаться на:
export default reduce;
^^^^^^
SyntaxError: Unexpected token export
К сожалению, передача полного узла nodejs не возможна. Я надеюсь, что это можно исправить, настроив веб-пакет или добавив расширение или около того.
Воспроизвести / весь код:
- репо здесь https://github.com/askmike/gekko.git (ветка до v0.6)
- модуль, который я пытаюсь разделить между vue и nodejs, здесь .
- чтобы запустить nodejs env:
npm install && cd web && node server
.
- для запуска vue env:
cd web/vue && npm install && npm run serve
.