Примечание. В этом ответе предполагается, что вы работаете в операционной системе в стиле Unix, такой как Linux или OSX.
Как правило, вы создаете исполняемую команду где-нибудь в каталоге вашего проекта и используете npm link
, чтобы связать ее с ./node_modules/.bin
(или с вашим глобальным исполняемым каталогом.)
Если вы решили сохранить команду в своем проекте (а не устанавливать ее глобально), важно убедиться, что ваш PATH включает ./node_modules/.bin
(как в: export PATH=./node_modules/.bin:$PATH
), чтобы вы могли вызывать свой новый CLI.
См. Руководство по созданию пакета командной строки NodeJS для полного решения.
Наконец, если вы хотите сослаться на ресурсы, относящиеся к каталогу установки, вам нужно загрузить их, используя path.resolve , чтобы преобразовать относительный путь в абсолютный, например: var res = require(path.resolve(__dirname, '../config/file'))
где __dirname
представляет каталог, в котором живет ваш CLI.
Предполагая, что:
./
index.js
package.json
bin/
cli
config/
my.properties
в ./bin/cli
, вы бы:
const path=require('path')
const PropertiesReader = require('properties-reader')
const properties_file_path = path.resolve(__dirname, '../config/my.properties')
const properties = PropertiesReader(properties_file_path)