npm audit là gì? 10 lệnh npm lập trình viên cần biết!

Nội dung bài viết

NPM là gì?

NPM là gì? NPM là viết tắt của Node Package Manager, nếu bạn là một lập trình viên phát triển web hay node.js thì sẽ trông thấy rất quen thuộc. Hay cách khác là npm là một kho lưu trữ trực tuyến để xuất bản các dự án Node.js mã nguồn mở.

Tôi biết ở đây nếu mà giải thích theo học thuật thì chán lắm, vậy hãy để tôi giải thích theo tôi hiểu. Nôm na là giả sử một ngày nào đó bạn chăm chỉ làm việc, phát triển một ứng dụng tuyệt vời, nhưng bạn phải một vấn đề lớn và quyết định sẽ tìm một thư viện như lodash chẳng hạn. Rất may,npm rất đơn giản để sử dụng, bạn chỉ phải chạy

$ npm install lodash

và module được chỉ định sẽ được cài đặt trong thư mục hiện tại bên dưới node_modules. Sau khi được cài đặt vào thư mục node_modules của bạn , bạn sẽ có thể sử dụng require() chúng giống như chúng được tích hợp sẵn.

Đơn giản để hiểu vậy thôi, và dưới đây là 10 câu lệnh npm mà mỗi lập trình viên đều phải biết ít nhất là 8 cái. Nhưng trước tiên từ npm 6x trở lên thì có thêm command đó là npm audit. Chúng ta tìm hiểu thêm npm audit là gì?

npm audit fix là gì?

npm audit là một lệnh được cung cấp từ npm 6x trở lên, thực hiện đánh giá bảo mật trong thời gian ngắn của dependency dự án của bạn. Báo cáo kiểm tra chứa thông tin về các lỗ hổng bảo mật trong phần dependency của bạn và có thể giúp bạn khắc phục lỗ hổng bằng cách cung cấp các lệnh npm dễ chạy và các khuyến cáo để khắc phục sự cố khi bạn đang sử dụng một package nào đó.

Bạn có thể bắt đầu sử dụng npm audit ngay bây giờ bằng cách cập nhật lên phiên bản npm mới nhất.

~ npm install npm -g

Cú pháp sử dụng npm audit như sau:

 npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)]
npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]

common options: [--production] [--only=(dev|prod)]

Ví dụ: Ở bài "Build ứng dụng chat sử dụng express và socket.io" giờ đây tôi thử check lại dự án xem có package nào tổn thương không hén.

AnonyStick$ cd express-socketio-chatroom/
AnonyStick$ 
AnonyStick$ 
AnonyStick$ npm audit
found 0 vulnerabilities

Rất tiếc chả có sự tôn thương nào ở đây. Bạn cũng làm vậy thôi. Nếu thực sự chưa hiểu vui lòng tham khảo trang gốc của nó npmjs.

Top 10 Commands sử dụng NPM

Một số trường hợp viết tắt sau đây:

  • install npm install viết tắt:npm i .
  • test: npm test viết tắt: npm t .
  • Trợ giúp: npm --help viết tắt: npm -h .
  • toàn cầu : npm --global viết tắt: npm -g .

npm init

Sử dụng npm init để tạo một npm package mới. Câu lệnh này được sử dụng nhiều nhất. Khi sử dụng npm init sẽ có nhiều câu hỏi cho anh em điền vào như description, keyword... Nếu bạn nào không muốn có một bất kỳ câu hỏi nào thì có thể sử dụng cú pháp sau:

$ npm init -y

Và khi run command này xong thì file package.json xuất hiện.

npm install -production

Câu lệnh này dùng để cài đặt những module cần thiết cho dự án, có thể cài đặt cho dev, cho product tuỳ theo chúng ta. Ví dụ tôi muốn khởi tạo dự án express thì có thể sử ụng như sau:

$ npm install express --save
or
$ npm i express --save

NPM Uninstall Command

Đương nhiên cài được thì phải remove được, để uninstall express trước đó đã cài thì chúng ta sử dụng câu lệnh sau:

$ npm uninstall express

NPM Update Command

Việc update những thư viện trong dự án rất cần thiết, tránh lỗhổng bảo mật, nâng cấp tính năng thì sử dụng npm cũng có thể làm được

$ npm update express

Nếu bạn muốn update hết những module trong dự án của mình thì sử dụng câu lệnh sau

$ npm update

NPM List Command

Sử dụng npm ls xem xét và liệt kê những gói mà dự án chúng ta đã cài đặt

$ npm ls

npm config

Khi chạy npm init một dự án mới, bạn có thể thấy mình nhập đi nhập lại các chi tiết cấu hình. Giả sử, bạn có thể là người phụ trách chính của dự án. Đôi khi để tiết kiệm thời gian, bạn có thể đặt giá trị mặc định cho các trường này, như dưới đây:

npm config set init.author.name "Anonystick"
npm config set init.author.email "Anonystick@gmail.com"
npm config set init.author.url "Anonystick.com"
npm config set init.license "MIT"

npm run

Ngoài ra các bạn cũng cố gắng tìm hiểu cách npm run thế nào, và đây là một gợi ý:

npm run prestart
npm run start
npm run poststart

Ngoài ra chúng tôi khuyến khích các bạn xem qua Tổng hợp 150 packages và resource Node.js chất lượng cao được nhiều nhà phát triển khuyên dùng.

Có thể bạn đã bị missing