Як я можу виконати стартовий сценарій із файлу 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
ладу у виробництві через відсутність нодемона?
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, який є простою комбінацією транпіляції файлів TypeScript та запуску результуючого 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.json) приблизно так:
{
"events": {
"start": "npm run *your_file*"
}
}
Детальніше читайте в подіях Nodemon - запускайте завдання при запуску сервера, перезапуску, збої, виході .
Якщо встановлено глобально
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Переконайтесь, що встановили nodemon
глобально:
npm install -g nodemon
Нарешті, якщо ви користувач Windows, переконайтеся, що обмеження безпеки в оболонці Windows PowerShell увімкнено .
Це буде залежати від типів вашої установки 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 також буде шукати властивість 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"
},