Как я могу использовать переменные в package.json?

Есть функция от maven, я скучаю по большому счету в package.json. В файле maven.pom вы можете определить переменные в родительском проекте и использовать их в дочерних проектах pom файлов.

Есть ли что-то подобное в npm? Мы строим модульный проект, и я хочу централизованно определять версии зависимостей и их использовать в соответствующих файлах package.json.

благодаря

Ответ 1

На любую клавишу можно ссылаться, начиная с $npm_package_ и добавляя подчеркивание для каждого уровня, который вы понижаете.

Пример:

{ "name": "appname", "version": "0.0.1"}

имя может быть доступным как: $npm_package_name

Для пользователя Windows, имя может получить доступ как: %npm_package_name%

Ответ 2

Определите объект конфигурации в package.json:

{
    "name"   : "myapp",
    "config" : { "port" : "3000" },
    ...
}

И затем вы можете получить доступ к значению порта из объекта scrips с помощью $npm_package_config_port

{
    "name"   : "myapp",
    "config" : { "port" : "3000" },
    "scripts": {
        "start" : "node --harmony app.js $npm_package_config_port"
    },
    ...
}

Источник полной статьи здесь:

http://www.marcusoft.net/2015/08/npm-scripting-configs-and-arguments.html#npm-configuration

Вот еще один пример:

http://ianmcnally.me/blog/2016/2/4/variables-in-npm-scripts

Ответ 3

В Windows вы должны использовать %variable_name%. Например:

{
   "name": "app_name",
   "version": "1.0.0",
   "custom": {
      "key": "any value"
   }
}

Вы можете получить его используя %npm_package_name%, %npm_package_version% и %npm_package_custom_key%.