NPM LÀ GÌ

     

Mở đầu

Khi thao tác làm việc nhiều với javascript có thể hẳn các bạn cũng đã từng có lần dùng lệnh npm install, npm update, npm install bootstrap ... Nhưng đôi khi họ chỉ biết gõ lệnh mà chưa chắc chắn thực sự nó là gì, làm cái gì, cung cấp mình ra sao. Lúc này mình sẽ ra mắt cho chúng ta về npm, một công cụ quản lý các package của javascript. Nội dung bài viết này để giúp đỡ bạn bao gồm cái quan sát tổng quan lại về những công cụ làm chủ thư viện lập trình.

Bạn đang xem: Npm là gì

Giới thiệu

NPM viết tắt của tự Node Package Manager là 1 trong những công chũm tạo và quản lý các thư viện javascript mang đến Nodejs. Các ai thao tác với javascript chắc hẳn ít nhiều cũng đã từng có lần nghe về nó.NPM cung ứng 2 chức năng chính bao gồm:

Quản lý các module javascript và phiên bản của chúng trong số dự án của bọn họ đơn giản hơn, thuận lợi hơn, huyết kiệm thời hạn hơn.

Chi tiết

trong những dự án cùng với javascript thì chắc rằng các các bạn sẽ cần những thư viện của javascript. Điển hình như jquery, bootstrap, express, vue, react,... Thì việc quản lý các thư viện này như thế nào, cần sử dụng phiên bản bao nhiêu, yêu cầu require thêm các module gì. Những các bước này ví như làm thủ công thì trái là mất tay, đặc biệt là những dự án công trình lớn. Ví dụ mang đến dễ hiểu: họ sẽ sở hữu thử expressjs cùng với npm install express xem bọn họ sẽ bao gồm gìChúng ta vẫn mở file package.json:

"dependencies": "express": "^4.16.4" Nó đang thêm một dependencies với thương hiệu express với phiên bản cho bọn chúng ta. Tưởng chừng chỉ đơn giản và dễ dàng thế thôi nhưng hãy xem thêm tiếp file package-lock.jsonNhìn qua dòng file này còn có vẻ phức tạp, trong thời điểm tạm thời bỏ qua các cái râu ria kia đi, họ tập trung vào phần sau:

"express": "version": "4.16.4", "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "requires": "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.3", "content-disposition": "0.5.2", "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.4", "qs": "6.5.2", "range-parser": "~1.2.0", "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", "statuses": "~1.4.0", "type-is": "~1.6.16", "utils-merge": "1.0.1", "vary": "~1.1.2" ,Đọc phần lớn đoạn này chúng ta cũng có thể thấy những thông tin sau:

Phiên phiên bản của express: 4.16.4Mã code.require số đông module đề xuất thiết. Xem qua xem nào, cũng kha khá module cần thiết ấy thất thoát =))

Đếm qua có 30 loại module cần thiết để chạy đc cái express. Khá nhọc nhằn nhỉ

*
Các bạn dạng thử tưởng tượng ví như ta dùng bằng tay thủ công thì ta bắt buộc cài 30 cái module từng loại một thì họ cũng mất kha khá thời hạn ấy nhỉ. Đó là về module cần thiết. Một trong những thứ quan trọng đặc biệt nữa là version của module nữa. Thực tế khi chúng ta làm một dự án thì câu hỏi project chạy ở một phiên phiên bản này tuy nhiên phiên phiên bản sau lại ko chạy được nó là chuyện bình thường. Vày vậy ngoài ra module quan trọng thì chúng ta nên chú ý đến phiên bạn dạng của những module nữa. lúc ta sử dụng lệnh npm install giỏi npm install xxx trong các số ấy xxx là tên gọi package bạn cần install. Từ bây giờ npm đang tìm module đó với lấy phiên bạn dạng mới độc nhất vô nhị để cài cho chúng ta (Nếu chưa xuất hiện phiên phiên bản được khắc ghi trong package.json). Nếu như bạn join vào một trong những dự án nhưng mà đã được thiết kế từ trước, đã bao gồm sẵn đa số module cùng phiên phiên bản của nó được lưu lại vào file package.json thì khi ta chạy npm install thì nó đã đọc tên module và phiên phiên bản của nó để nó tải về số đông module quan trọng cho chúng ta. bởi vì những lí do như trên, để dễ dãi hơn vào việc cai quản các package và phiên bản của nó thì npm thành lập và hoạt động để giải quyết và xử lý vấn đề này. File package.json sẽ tàng trữ xem project của bọn họ cần sử dụng những module nào, version của nó là bao nhiêu. Chi tiết của nó sẽ tiến hành lưu trữ tại package-lock.json bao gồm phiên bản, địa điểm lưu trữ, phần đông module quan trọng để chạy module mình phải chạy =))

Đôi khi chúng ta xem bên trên mạng gồm cái module tốt hay, ta buộc phải dùng vào project của mình. Điển hình như:

npm install toastr -gnpm install axios --savenpm install cross-env --save-devGiải thích:

Với -g tức là ta sẽ install trên global. Nó sẽ được lưu tại usr/local/libBạn có thể kiểm tra các package này cùng với lệnh

npm danh mục -gVới --save thì ta đã lưu bên trên local. Và việc thống trị này sẽ tiến hành theo dõi tại file là package.json. Và khi thiết lập thì nó sẽ được lưu trữ trên thư mục node_modules vào project của bọn chúng ta.Khi kia trong tệp tin này vẫn xuất hiện:"dependencies": "axios": "^0.18", Còn cùng với --save-dev thì sao:Chúng ta hãy cùng thử lệnh này nhé:npm install cross-env --save-devKhi cài ngừng ta vào tệp tin package.json sẽ thấy:

"devDependencies": "cross-env": "^5.1", Điều này có ý nghĩa gì? :v Đọc qua cái tên chắc cũng có thể hiểu ngay được là mọi dependencies được sử dụng trong quá trình phát triển. Như vậy tức là các package này sẽ chỉ được dùng trong vượt trình phát triển mà thôi. Còn với dependencies thì sẽ được dùng cả bên trên production.Đi sâu hơn một chút nữa nào:

Cùng nhìn lại ví dụ này nhé.

Xem thêm: {Top} 10+ Hộp Cơm Giữ Nhiệt Zojirushi 4 Ngăn, Hộp Cơm Giữ Nhiệt Zojirushi Zocm

"dependencies": "express": "^4.16.4" các bạn để ý vệt mũi thương hiệu ^ lân cận phiên phiên bản của module. Dấu này có nghĩa là khi install thì npm đã install phiên bạn dạng mới nhất của module này mà nó có thể tìm thấy cho việc đó ta. Còn lốt ~ do đó phiên bản tương tự.

Xem thêm: Ba Via Là Gì Mô Tả Bavia Nhựa Là Gì, Bavia Là Gì Mô Tả Bavia Nhựa Là Gì

Kết Luận

như vậy npm giúp bọn họ quản lý các thư viện javascript đơn giản và dễ dàng hơn, dễ ợt hơn, gấp rút hơn, giúp chúng ta tiết kiệm được không hề ít thời gian trong câu hỏi xây dựng nền tang của dự án. Giúp bọn họ tập trung vào việc cách tân và phát triển những phần chính của dự án. Qua phía trên các chúng ta cũng có thể hiểu rõ rộng về npm là gì và vận động như cố nào. Hiện thời đang gồm một nguyên tắc khác tương tự như npm nhưng táo tợn hơn npm. Đó là yarn. Trong nội dung bài viết sau bản thân sẽ giới thiệu cho các bạn về yarn và để xem yarn mạnh dạn hơn npm ra sao nhé. Cảm ơn các bạn đã theo dõi nội dung bài viết của mình.