Как я могу выполнить запускающий скрипт из файла package.json с помощью Nodemon?
Как я могу выполнить запускающий скрипт из файла package.json с помощью Nodemon?
Ответы:
Это будет простая команда для этого
nodemon --exec npm start
npm start
но не запускает сервер узла для меня ... как он узнает, где находится server.js?
В пакете json:
{
"name": "abc",
"version": "0.0.1",
"description": "my server",
"scripts": {
"start": "nodemon my_file.js"
},
"devDependencies": {
"nodemon": "~1.3.8",
},
"dependencies": {
}
}
Затем с терминала вы можете использовать npm start
Установка Nodemon: https://www.npmjs.com/package/nodemon
npm start
потерпит неудачу в производстве из-за отсутствия nodemon?
npm run start
неnpm start
npm start
является псевдонимомnpm run start
У меня есть файл TypeScript с именем «server.ts». Следующие сценарии npm настраивают Nodemon и npm для запуска моего приложения и отслеживания любых изменений в файлах TypeScript:
"start": "nodemon -e ts --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",
У меня уже есть Nodemon по зависимостям. Когда я запускаю npm start
, он попросит Nodemon контролировать свои файлы с помощью -e
переключателя, а затем он myapp
вызовет сценарий npm, который представляет собой простую комбинацию переноса файлов машинописного текста и последующего запуска полученного server.js. Когда я меняю файл TypeScript, из-за -e
переключения происходит тот же цикл, и новые файлы .js будут сгенерированы и выполнены.
Я использую Nodemon версии 1.88.3 в своем проекте Node.js. Чтобы установить Nodemon, см. Https://www.npmjs.com/package/nodemon .
Проверьте свой package.json, посмотрите, изменились ли "скрипты" следующим образом:
"scripts": {
"dev": "nodemon server.js"
},
server.js
это мое имя файла, вы можете использовать другое имя для этого файла, например app.js
.
После этого запустите это на своем терминале: npm run dev
Использование -exec
:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'
если вы хотите сделать это из командной строки.
Сначала измените файл package.json ,
"scripts":
{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
После этого выполните команду
npm run start-dev
app.js
вы обходите все, что ./bin/www
делает ...
В файле package.json. изменить файл как это
"scripts":{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
а затем выполните npm run start-dev
Nodemon генерирует события при каждом изменении состояния; запуск, перезапуск, сбой и т.д. Вы можете добавить файл конфигурации Nodemon (nodemon.json) следующим образом:
{
"events": {
"start": "npm run *your_file*"
}
}
Подробнее читайте в событиях Nodemon - запускать задачи при запуске сервера, перезапуске, сбое, выходе .
Если установлено глобально, то
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Убедитесь, что вы установили nodemon
глобально:
npm install -g nodemon
Наконец, если вы являетесь пользователем Windows, убедитесь, что ограничение безопасности Windows PowerShell включено .
Вы также можете установить nodemon глобально для частого использования:
npm i nodemon -g
или sudo npm i nodemon -g
затем отредактируйте свой package.json:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
Как правило, «dev» указывает на использование в целях разработки ( npm run dev ).
Это будет зависеть от типа вашей установки Nodemon. Если вы устанавливаете Nodemon глобально с помощью команд ( npm install nodemon --global
или npm install nodemon -g
), вам не нужно указывать скрипт для Nodemon в вашем файле package.json . Просто выполнение команды nodemon index.js
запустит ваш проект.
Но если вы устанавливаете Nodemon локально с помощью команды, npm install nodemon
вам необходимо указать сценарий. Если вы назовете его start, то npm run start
или npm start
запустит сервер.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Если вы nodemon
установили глобально, простой запуск nodemon
в вашем проекте автоматически запустит start
скрипт из package.json
.
Например:
"scripts": {
"start": "node src/server.js"
},
Из документации nodemon :
nodemon также будет искать свойство scripts.start в package.json (начиная с nodemon 1.1.x).
В упаковке json
:
"scripts": {
"start": "node index",
"dev": "nodemon index"
},
"devDependencies": {
"nodemon": "^2.0.2"
}
А в терминале для разработки:
npm run dev
А для запуска сервера штатный:
npm start
Чтобы избежать глобальной установки, добавьте Nodemon в качестве зависимости, затем ...
package.json
"scripts": {
"start": "node ./bin/www",
"start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
},