ЗАДАТЬ ПУТЬ в NodeJS

#javascript #node.js

#javascript #node.js

Вопрос:

Я работал над проектом NodeJS и наткнулся на эту строку:

 "scripts": {
    "dev": "set NODE_PATH=./libamp;amp; node lib/server.js",
  },
 

Как я понимаю, set NODE_PATH изменяет путь к узлу, чтобы функции require могли искать другой путь. Если я попытаюсь запустить set NODE_PATH=./lib в отдельной строке, а затем запустить скрипт, он не будет работать.

Работает ли это только при выполнении в on line?

Как это работает в конечном итоге?

Где я могу найти документы о функции SET?

Комментарии:

1. можете ли вы показать in a separate line , как вы пытались

2. установите NODE_PATH=./lib, а затем node lib/server.js

3. сценарии выполняются в оболочке (при условии, что вы находитесь в linux, аналогично для Windows), set устанавливает именованную переменную env для этого экземпляра оболочки. в отдельной строке я предполагаю две разные команды скрипта? если это так, то эти два скрипта выполняются в 2 разных оболочках, поэтому все, что вы set используете в одном, недоступно для другого

4. Укажите это в ответе на голосование. Также источник?

5. set происходит из os , так что это может быть windows, или linux, или какой-то другой * nix. Позвольте мне попытаться составить ответ

Ответ №1:

npm скрипты shell scripts — это те, которые выполняются в оболочке хост-машины. set команда поступает с хоста os (поэтому вам следует проверить кросс-платформенную совместимость)

Работает ли это только при выполнении в on line?

Да. set устанавливает переменную env для этого экземпляра оболочки. Он доступен только для этого экземпляра и его подоболочек.

Если я попытаюсь запустить set NODE_PATH=./lib в отдельной строке

Я предполагаю, что это означает две разные команды скрипта (потому что json не допускает многострочности). Если это так, эти два скрипта выполняются в 2 разных экземплярах оболочки, поэтому все, что вы set используете в одном, недоступно для другого

Как это работает в конечном итоге?

Выполняет сценарий оболочки

Где я могу найти документы о функции SET?

Вот ссылка на man of set для linux. Вы можете найти свой Google os , если вы не используете Linux.