NPM là gì?
NPM là gì? – NMP là viết tắt của Node package manager là một công cụ tạo và quản lý các thư viện lập trình Javascript cho Node.js. Trong cộng đồng Javascript, các lập trình viên chia sẻ hàng trăm nghìn các thư viện với các đoạn code đã thực hiện sẵn một chức năng nào đó. Nó giúp cho các dự án mới tránh phải viết lại các thành phần cơ bản, các thư viện lập trình hay thậm chí cả các framework.
Bạn đang xem: Npm là gì
Nếu trong project của bạn cần cài đặt cả chục scripts từ các thư viện khác nhau. Điều đó tương đương với việc bạn phải tải về source của chục thư viện, include chúng vào trong source của bạn. Một công việc tốn khá nhiều thời gian khủng khiếp.
Mỗi đoạn code này có thể phụ thuộc vào rất nhiều các mã nguồn mở khác, thật may mắn khi các công cụ quản lý thư viện ra đời, nếu không sẽ mất rất nhiều công sức trong việc quản lý các thư viện này.
Cộng đồng sử dụng npm rất lớn, hàng nghìn các thư viện được phát hành, hỗ trợ Javascript ES6, React, Express, Grunt, Duo… Hiện nay cũng đã xuất hiện thêm Yarn một công cụ tương tự npm, được Facebook phát triển với nhiều tính năng vượt trội có khả năng sẽ thay thế npm.
Nếu như bạn từng code Php thì sẽ biết Composer là công cụ quản lý thư viện của nó, tương tự như NPM là công cụ quản lý thư viện Javascript.
10 Công ty hàng đầu thế giới sử dụng Node.js
Cài đặt NPM
npm có sẵn khi bạn tải NodeJS về. Để kiểm tra xem trên hệ thống của bạn đã được cài npm chưa chúng ta sử dụng lệnh npm -v, nếu một phiên bản hiện ra thì hệ thống của bạn đã được cài đặt npm.
Vì NPM là một phần mềm cài đặt trên máy tính của bạn nên bạn có thể sử dụng nó để cài đặt các thư viện Javascript từ trên Internet. Để cài đặt một thư viện nào đó, chỉ cần mở cửa sổ Terminal (hoặc CMD) và thực thi lệnh giống dưới đây:
npm install package-nameVD như mình thử tải Vuejs về sử dụng sẽ dùng lệnh:
npm install vueKhi đó muốn sử dụng Vue.js chúng ta chỉ cần sử dụng lệnh require():
var Vue = require(“vue”);
3 phút làm quen với Vue.js
Tương lai của JavaScript ra sao trong thế giới Front-End?
Cài đặt global và cài đặt local
Có hai cách để cài đặt một gói bằng npm:Local: sẽ tạo ra thư mục node_modules nếu chưa có trong project hoặc nếu có rồi nó sẽ lấy code của gói cần cài đặt đưa vào đây, tức chỉ hiện diện trong thư mục của project hiện tại. Khi cần sử dụng bạn có thể sử dụng lệnh require().
Xem thêm: Inside Là Gì – Nghĩa Của Từ Inside
Global: sẽ lưu trữ code của gói trong các file hệ thống cố định trong máy, chỉ có thể dùng các package này thông qua các hàm CLI (Command Line Interface) ví dụ như gulp. Không thể dùng package thông qua require().
Mặc định thì các package khi cài đặt đều sẽ là cài trên project của bạn.
Trong thực tế, đôi khi có những gói thư viện bạn đã cài đặt nhưng sau đó bạn không sử dụng đến trong dự án, bạn có thể gỡ bỏ cài đặt một gói thông qua câu lệnh:
npm uninstall package_nameCác package thư viện đưa vào project của bạn có thể liên tục có update mới. Thực hiện npm update để thực hiện cập nhật tất cả các gói liên quan. Nếu bạn chỉ muốn cập nhật một gói cụ thể có thể sử dụng cú pháp:
npm update package_nameCác câu lệnh này có thể sử dụng flag -g để thực hiện cập nhật cho các gói được cài đặt global.
Kiểm tra các gói cài đặt
Để kiểm tra các gói đã được cài đặt thông qua npm sử dụng câu lệnh npm ls, nếu kiểm tra các cài đặt global thêm tham số -g
npm lsnpm ls -g
Package.json
Tìm hiểu về bất đồng bộ trong JavaScript
Để quản lý các gói cài đặt cục bộ bằng npm thì cách tốt nhất là thông qua file package.json, chính là file nằm trong thư mục gốc của project. File JSON này chứa các nội dung:Các gói thư viện lập trình mà project sử dụng.Cho phép xác định phiên bản chính xác của các gói thư viện lập trình được sử dụng.Các gói bạn xây dựng có thể chia sẻ dễ dàng với các lập trình viên khác trên toàn cầu thông qua npm.
Lệnh npm init –yes sẽ tạo ra file package.json mẫu.
npm init –yesWrote to /home/topdev/random-keygen/package.json: { “name”: “random-keygen”, “description”: “”, “version”: “1.0.4”, “description”: “”, “main”: “index.js”, “scripts”: { “test”: “echo “Error: no test specified” && exit 1″ }, “repository”: { “type”: “git”, “url”: “https://github.com/vietdien2005/random-keygen.git” }, “keywords”: , “author”: “Đàm Việt”, “license”: “ISC”, “bugs”: { “url”: “https://github.com/vietdien2005/random-keygen/issues” }, “homepage”: “https://github.com/vietdien2005/random-keygen”}Có một số các thuộc tính trong package.json, chúng ta cùng điểm qua:
name: tên gói thư việnversion: phiên bản góidescription: phần mô tả về gói thư việnhomepage: trang chủ của góiauthor: tác giảcontributors: tên người đóng góp cho packagedependencies: danh sách các gói phụ thuộc, tự động được cài theo.
Xem thêm: Initiatives Là Gì – Initiative Là Gì, Nghĩa Của Từ Initiative
main: index.jskeywords: các từ khóa
Ví dụ sử dụng file package.json, project sử dụng package random-keygen với phiên bản là 1.0.4 cho production và sử dụng gói develop-random-keygen trong quá trình develop là 1.0.2, file package.json sẽ như sau:
{ “name”: “random-keygen”, “version”: “1.0.4”, “dependencies”: { “random-keygen”: “^1.0.4” }, “devDependencies” : { “develop-random-keygen”: “^1.0.2” }}Nếu muốn thêm các entry vào thuộc tính dependencies khi cài đặt gói sử dụng thêm flag –save, còn với thuộc tính devDependencies thì sử dụng flag –save-dev.
Chuyên mục: Hỏi Đáp