logo
 

 

  • Trang chủ
  • Giới thiệu
    • Hồ Sơ Năng Lực
    • Công Ty Cổ Phần IGB
  • Dịch vụ
  • Dự án
  • Tin tức
    • Thiết Kế App Mobile
    • Thiết Kế Website
    • Quảng Cáo Google
    • test
  • Tuyển dụng
  • Liên hệ

NPM là gì? Sử dụng NPM hiệu quả để đơn giản hóa công việc

NPM là gì?

NPM là gì? – NPM 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.
 

Node package manager
 

Công dụng của NPM là gì

Với npm, công việc sẽ đơn giản đi rất nhiều, chúng giúp bạn thực hiện việc quản lý đơn giản hơn rất nhiều. Các thư viện đều có sẵn trên npm, bạn chạy một dòng lệnh để tải về và dễ dàng include chúng hơn.

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.

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-name
VD như mình thử tải Vuejs về sử dụng sẽ dùng lệnh:
npm install vue

Khi đó muốn sử dụng Vue.js chúng ta chỉ cần sử dụng lệnh require():
var Vue = require('vue');

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().
  • 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.
npm uninstall package_name

Cá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_name

Cá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 ls
npm ls -g

Package.json

Để 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 --yes
Wrote 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ện
  • version: phiên bản gói
  • description: phần mô tả về gói thư viện
  • homepage: trang chủ của gói
  • author: tác giả
  • contributors: tên người đóng góp cho package
  • dependencies: danh sách các gói phụ thuộc, tự động được cài theo.
  • repository: loại repository và url của package, thông thường là git
  • main: index.js
  • keywords: 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.
Thu Hiền
>> Xem thêm: 12 Thuật ngữ bạn nhất định phải biết khi lập trình web (PHẦN 1)
 
Closure là gì? Tại sao cần dùng closure?

Closure là gì? Tại sao cần dùng closure?

Closure là một kiến thức quan trọng trong lập trình, nhờ có nó mà bạn có thể triển khai những chức năng một cách dễ dàng...
7 khái niệm Javascript cơ bản không thể bỏ qua

7 khái niệm Javascript cơ bản không thể bỏ qua

Có thể nói trong những năm gần đây thì ngôn ngữ JavaScript đã trở nên rất thông dụng. Có rất nhiều framework ra đời được...
Phát triển pop up có lợi như thế nào đối với website của bạn?

Phát triển pop up có lợi như thế nào đối với website của bạn?

Pop up không còn là một thuật ngũ xa lạ với các marketer và developer. Quảng cáo hay dẫn thông tin bằng pop up ngày càng được...
Tiêu điểm
Closure là gì? Tại sao cần dùng closure?
Closure là gì? Tại sao cần dùng closure?
7 khái niệm Javascript cơ bản không thể bỏ qua
7 khái niệm Javascript cơ bản không thể bỏ qua
Phát triển pop up có lợi như thế nào đối với website của bạn?
Phát triển pop up có lợi như thế nào đối với website của bạn?
Tip khiến màu sắc trong thiết kế của bạn trở nên hài hòa và cân đối hơn
Tip khiến màu sắc trong thiết kế của bạn trở nên hài hòa và cân đối hơn
10 xu hướng thiết kế mùa hè 2023 mà bạn nên cập nhật
10 xu hướng thiết kế mùa hè 2023 mà bạn nên cập nhật

Tin được xem nhiều

  • Lập Trình App Mobile Và Những Điều Bạn Chưa Biết
  • Thiết Kế Ứng Dụng App Mobile
  • Top 5 Framework Phát Triển Ứng Dụng Di Động Đa Nền Tảng
  • TOP 10 Kinh Nghiệm Chạy Quảng Cáo Google
  • 13 công cụ phân tích ứng dụng di động tốt nhất cho doanh nghiệp
  • So sánh sự khác biệt giữa React Native Và Native App
  • Thiết Kế Website Công Ty
© 2017 IGB ., JSC. All Rights Reserved.