Каков рекомендуемый способ указать импорт пакета npm в определенный каталог? - PullRequest
1 голос
/ 05 июля 2019

У меня есть пакет npm, структурированный следующим образом:

my-package
├── build
├── many.config.files
├── package.json
└── src

Имеет смысл поместить вспомогательные файлы, такие как файлы конфигурации и scripts, в корень моего пакета.Тогда имело смысл иметь файл src, чтобы мои исходные файлы не смешивались со всеми моими файлами конфигурации.Тогда имело смысл иметь каталог build, в который будет помещаться встроенная версия src (может быть, произойдет некоторая передача и минификация и т. Д.).

Теперь в моем каталоге src есть различные файлы JS ипапки, все из которых пользователи моей библиотеки должны иметь возможность импортировать.

src
├── file1.js
├── file2.js
└── utils

Например, import utils3 from "my-package/utils/file3.js" должен работать для них просто отлично.Они не должны ввести import utils3 from "my-package/build/utils/file3.js" для импорта файла.

Как лучше всего справляться с этой ситуацией?

Iпробовал / рассматривал различные подходы:

  1. Установка "main": "./build" в моем package.json.Это не решило ошибку импорта для меня.

  2. Установка "directories": {"utils": "./build/utils"} в моем package.json.Это не решило ошибку импорта для меня.

  3. Копирование package.json в мой каталог сборки во время сборки.Затем npm publish, используя каталог сборки вместо всего проекта.Это имеет преимущество только в совместном использовании встроенного кода.Это имеет недостаток, заключающийся в том, что встроенный пакет будет иметь в своем файле package.json информацию, которая не имеет смысла, поскольку файлы / каталоги отсутствуют / неправильно расположены.

  4. Что-то вроде module.exports = require('./build') в файле index.js.Это тоже не сработало.

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