package.json là gì? chúng tôi trong project Node.js
Trong các project chúng tôi chuẩn đều chứa file package.json nhưng bạn có biết nó dùng để làm gì?
File chúng tôi là gì?
File chúng tôi được dùng để thực hiện các việc sau:
Chỉ rõ phiên bản của project và mô tả project (tên project, tác giả, bản quyền…)
Liệt kê các packages mà project phụ thuộc (các thư viện mà project sử dụng)
Dễ dàng chia sẻ project giữa các developers, giúp project có thể được sử dụng lại như một thư viện.
Các trường trong file package.json
Một file chúng tôi bắt buộc phải có 2 trường "name" và "version"
"name": tên của package / project, phải là chữ cái thường (lowercase) và chỉ gồm một từ, có thể bao gồm ký tự gạch ngang / gạch dưới.
"version": phiên bản của package /project. Phải có định dạng xx.x và tuân theo semantic versioning guidelines.
Một số trường khác:
"description": mô tả project
"main": file main được chạy.
"script": định nghĩa các script.
"author": tác giả project
"license": bản quyền project
"dependencies": các thư viện sử dụng
Ví dụ:
{ "name": "nodejs-demo", "version": "1.0.0", "description": "node.js hello", "main": "index.js", "scripts": { "test": "node test.js" }, "keywords": [], "author": "stackjava.com", "license": "ISC", "dependencies": { "string": "^3.3.3" } }Phần script, khi mình chạy lệnh test là node chúng tôi nên khi chạy lệnh npm test thì nó sẽ chạy lệnh node test.js
Cách tạo file package.json
Cách 1: bạn tạo file text với tên chúng tôi và nhập bằng tay các giá trị với cấu trúc như ở trên.
Cách 2: dùng lệnh npm init
Ví dụ mình muốn tạo một project chúng tôi ở folder C:UsersstackjavaDesktopdemo thì mình sẽ mở màn hình cmd/powershell và di chuyển tới folder đó:
cd C:UsersstackjavaDesktopdemo
Sau đó chạy lệnh npm init và nhập các các thông tin:
{ "name": "demo", "version": "1.0.0", "description": "nodejs hello", "main": "index.js", "scripts": { "test": "node test.js" }, "author": "stackjava", "license": "ISC" }Bạn cũng có thể tạo file chúng tôi mặc định bằng lệnh npm init -y nó sẽ tạo một file chúng tôi với các thông tin mặc đinh.
Ví dụ:
https://docs.npmjs.com/getting-started/using-a-package.json