Package Version

tản mạn về 1 góc nhìn sấu sắc hơn về package version ...

Chi tiết hơn về Package Version:

"dependencies": {
   "react": "^17.0.0",
}

Ví dụ với package này:

Tên package: react

Version của package: 17.0.0

Version của các package thường sẽ có dạng : x.x.x

Mỗi 1 số được ngăn cách bởi dấu ‘.’ đều có ý nghĩa riêng.

[major].[minor].[patch]

Trong đoạn trên, xét từ phải qua trái, là PHẢI qua TRÁI nhé !

+ Số đầu tiên [patch] : được gọi là patch version, patch version là gì? có thể hiểu đơn giản nó là số thứ tự bản vá lỗi. Ví dụ như ở version 17.0.0 này, ai đó phát hiện có lỗi và sửa lại nó, sau khi sửa lại, bản mới này sẽ có tên là 17.0.1, cứ như vậy, bản vá thứ 2 sẽ có tên là 17.0.2, …..

+ Số thứ 2 [minor] : được gọi là minor version, minor version bao gồm những tính năng mới, update nhỏ mà không làm thay đổi những phần trước đó đã có. Giả sử 1 ngày đẹp trời, team phát triển react tìm tòi sáng tạo ra 1 vài tính năng mới, họ sẽ cho ra lò react bản 17.3, bản mới này chỉ có thêm tính năng, không hề ảnh hưởng đến những project sử dụng các bản cũ hơn (17.1, 17.2)

+ Số cuối cùng [major] : được gọi là major version, major version sẽ có những thay đổi, có thể là update, thêm tính năng, etc … và những thay đổi đó có thể khiến những project dùng bản trước đó bị lỗi. Chẳng hạn 1 ngày đẹp trời khác, team của React không thích sử dụng những tên hàm, tên các option đã có và họ muốn thay đổi chúng, giả sử bản hiện tại đang là 17.1.5, nếu muốn thực hiện các thay đổi đó, họ không thể cho ra lò bản 17.2 được vì giữa 2 bản này sẽ có sự khác biệt quá xa nhau mà phải cho ra lò version 18.

Ta phân biệt giữa minor và major ở chỗ này.

Ở minor, giữa bản 1.3.x và 1.4.x, 1.3.x có gì thì 1.4.x sẽ có cái đó, ngoài ra sẽ bổ sung 1 vài tính năng mới.

Còn với major, giữa bản 1.x.x và 2.x.x có thể có sự khác biệt không chỉ về tính năng, mà còn cả về tên hàm, tên các options có thể thay đổi… code bạn chạy ngon khi dùng bản 1.x.x không có nghĩa là update lên bản 2.x.x code bạn vẫn chạy ngon.

Npm cũng cho phép chúng ta được phép cài đặt package với version cụ thể. Cú pháp như sau:

$ npm install [tên package]@[version_bạn_muốn_cài] [flag_nếu_có]

flag ở đây là --save-dev hoặc --save hoặc --g

Ví dụ:

$ npm -d react@17.0.0 --save-dev

Câu lệnh trên sẽ cài đặt package react version 17.0.0 vào #Development dependencies

Các bạn phải chú ý khi cài đặt version vì như đã nói ở trên, giữa các version với nhau đều có những thay đổi ít nhiều có thể làm code của bạn không hoạt động như mong muốn nữa.

Last updated