Доступ к глобальным файлам с NodeJS - PullRequest
0 голосов
/ 21 октября 2019

Я разрабатываю модуль cli, который можно установить локально или глобально. Он ссылается на локальные шаблоны, которые будут использоваться во время процесса cli (например, скопировать некоторые из них в текущую папку, ...).

Как я могу получить путь, где установлены эти шаблоны (в текущем node_modulesпапку или в глобальную папку npm / yarn node_modules) их использовать?

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Я не знаю, является ли это лучшим решением, но мне удается извлечь двоичный путь, выполнив: path.resolve(require.resolve('my-cli'), '../', 'templates')

Источник: https://github.com/nodejs/help/issues/388#issuecomment-264731257

0 голосов
/ 21 октября 2019

Таким образом, сценарий состоит в том, что пользователь устанавливает ваш инструмент через npm install, а затем этот инструмент копирует некоторые шаблоны - из папки вашего проекта - в текущий рабочий каталог пользователя (среди прочего).

Таким образом, ваши файлы шаблонов могут быть установлены в локальной node_modules или глобальной установке.

В обоих случаях вы можете получить доступ к абсолютному пути к ресурсу, указав относительный путь из вашего файла сценария через модуль пути :

const pathToResource = path.resolve('../templates/myTemplate.txt');

pathToResource будет абсолютным путем и будет изменяться от одних пользователей к другим, в зависимости от того, установлены ли они модули локально или глобально.

...