Создание модуля npm с целевым кодом - PullRequest
0 голосов
/ 24 сентября 2019

В настоящее время я работаю над модулем javascript, который включает код для целей web и nodejs.Каждый из них находится в своих отдельных файлах (index.node.js и index.web.js), и я хочу, чтобы среда выполнения / компилятор выбирала, какой ему нужен, в зависимости от того, для какой цели он в данный момент работает.Таким образом, узел должен автоматически подобрать index.node.js, когда модуль «требует», а веб-пакет при сборке для веб-цели должен автоматически перейти к файлу index.web.js.

Однакопросто полагаться на расширение, чтобы сделать это, не работает, так как он потом жалуется на отсутствие index.js.Как можно реализовать это таким образом, чтобы веб-пакет действительно включал только один из файлов (таким образом, без лишних затрат времени выполнения), и чтобы он действительно просто работал без усилий на стороне конечных пользователей.

1 Ответ

0 голосов
/ 30 сентября 2019

Для чего можно использовать поля browser и main:

{
  "browser": "index.web.js" 
  "main": "index.node.js"
}

Webpack использует поле браузера по умолчанию.Узел использует основное поле (насколько я помню).

При компиляции с Webpack для бэкэнда (да - это вещь) - пользователю нужно будет изменить цель ивероятно измените способ разрешения модулей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...