Làm cách nào để thực thi tập lệnh bắt đầu từ tệp package.json với Nodemon?
Làm cách nào để thực thi tập lệnh bắt đầu từ tệp package.json với Nodemon?
Câu trả lời:
Đây sẽ là một lệnh đơn giản cho việc này
nodemon --exec npm start
npm start
nhưng không khởi động máy chủ nút đối với tôi .. làm thế nào nó có thể biết server.js ở đâu?
Trong gói json:
{
"name": "abc",
"version": "0.0.1",
"description": "my server",
"scripts": {
"start": "nodemon my_file.js"
},
"devDependencies": {
"nodemon": "~1.3.8",
},
"dependencies": {
}
}
Sau đó, từ thiết bị đầu cuối, bạn có thể sử dụng npm start
Cài đặt Nodemon: https://www.npmjs.com/package/nodemon
npm start
công trong sản xuất vì thiếu nút bấm?
npm run start
khôngnpm start
npm start
là bí danh củanpm run start
Tôi có một tệp TypeScript được gọi là "server.ts", Các tập lệnh npm sau đây định cấu hình Nodemon và npm để khởi động ứng dụng của tôi và theo dõi bất kỳ thay đổi nào trên các tệp TypeScript:
"start": "nodemon -e ts --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",
Tôi đã có Nodemon về phụ thuộc. Khi tôi chạy npm start
, nó sẽ yêu cầu Nodemon giám sát các tệp của nó bằng cách sử dụng công -e
tắc và sau đó nó gọi myapp
tập lệnh npm, đây là một sự kết hợp đơn giản giữa việc chuyển các tệp typecript và sau đó khởi động server.js kết quả. Khi tôi thay đổi tệp TypeScript, do -e
chuyển đổi, chu kỳ tương tự sẽ xảy ra và các tệp .js mới sẽ được tạo và thực thi.
Tôi sử dụng Nodemon phiên bản 1.88.3 trong dự án Node.js của mình. Để cài đặt Nodemon, hãy xem trong https://www.npmjs.com/package/nodemon .
Kiểm tra package.json của bạn, xem "script" có thay đổi như thế này không:
"scripts": {
"dev": "nodemon server.js"
},
server.js
là tên tệp của tôi, bạn có thể sử dụng tên khác cho tệp này như app.js
.
Sau đó, chạy điều này trên thiết bị đầu cuối của bạn: npm run dev
Sử dụng -exec
:
"your-script-name": "nodemon [options] --exec 'npm start -s'"
nodemon [options] --exec 'npm start -s'
bạn muốn làm điều đó từ dòng lệnh.
Đầu tiên hãy thay đổi tệp package.json của bạn ,
"scripts":
{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
Sau đó, thực hiện lệnh
npm run start-dev
app.js
bạn đang bỏ qua tất cả những gì ./bin/www
không ...
Trong tệp package.json. thay đổi tệp như thế này
"scripts":{
"start": "node ./bin/www",
"start-dev": "nodemon ./app.js"
},
và sau đó thực thi npm run start-dev
Nodemon phát ra các sự kiện khi có sự thay đổi về trạng thái; khởi động, khởi động lại sự cố, v.v. Bạn có thể thêm tệp cấu hình Nodemon (gật gù.json) như sau:
{
"events": {
"start": "npm run *your_file*"
}
}
Đọc thêm trong các sự kiện Nodemon - chạy các tác vụ khi máy chủ khởi động, khởi động lại, gặp sự cố, thoát .
Nếu được cài đặt toàn cầu thì
"scripts": {
"start": "nodemon FileName.js(server.js)",
},
Đảm bảo rằng bạn đã cài đặt nodemon
trên toàn cầu:
npm install -g nodemon
Cuối cùng, nếu bạn là người dùng Windows, hãy đảm bảo rằng giới hạn bảo mật của Windows PowerShell được bật .
Bạn cũng có thể cài đặt gật đầu trên toàn cầu để sử dụng thường xuyên:
npm i nodemon -g
hoặc là sudo npm i nodemon -g
sau đó chỉnh sửa package.json của bạn:
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
},
Nói chung, 'dev' chỉ định việc sử dụng phát triển ( npm run dev ).
Nó sẽ phụ thuộc vào kiểu cài đặt Nodemon của bạn. Nếu bạn cài đặt Nodemon trên toàn cầu bằng cách sử dụng các lệnh ( npm install nodemon --global
hoặc npm install nodemon -g
), bạn không phải chỉ định bất kỳ tập lệnh nào cho Nodemon trong tệp package.json của mình . Chỉ cần thực hiện lệnh nodemon index.js
sẽ chạy dự án của bạn.
Nhưng nếu bạn cài đặt Nodemon cục bộ bằng lệnh npm install nodemon
thì bạn phải chỉ định tập lệnh. Nếu bạn đặt tên nó là start thì npm run start
hoặc npm start
sẽ kích hoạt máy chủ chạy.
// Absolutely no need for global installation
"scripts": {
"start": "nodemon index.js"
}
Nếu bạn đã nodemon
cài đặt trên toàn cầu, chỉ cần chạy nodemon
trong dự án của bạn sẽ tự động chạy start
tập lệnh từ package.json
.
Ví dụ:
"scripts": {
"start": "node src/server.js"
},
Từ tài liệu của gật đầu :
gật đầu cũng sẽ tìm kiếm thuộc tính scripts.start trong package.json (kể từ gật đầu 1.1.x).
Trong gói json
:
"scripts": {
"start": "node index",
"dev": "nodemon index"
},
"devDependencies": {
"nodemon": "^2.0.2"
}
Và trong thiết bị đầu cuối để phát triển:
npm run dev
Và để khởi động máy chủ thường xuyên:
npm start
Để tránh cài đặt toàn cục, hãy thêm Nodemon làm phụ thuộc, sau đó ...
package.json
"scripts": {
"start": "node ./bin/www",
"start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
},