npm vs npx – Sự khác biệt là gì?

Related Articles



npm (trình quản lý gói nút) là trình quản lý gói / phụ thuộc mà bạn có được khi cài đặt Node.js. Nó cung cấp một cách để các nhà phát triển cài đặt các gói trên toàn cầu và cục bộ.

Đôi khi bạn có thể muốn xem một gói cụ thể và thử một số lệnh. Nhưng bạn không thể làm điều đó nếu không cài đặt các phụ thuộc trong node_modulesthư mục cục bộ của mình .

Đó là nơi npx đi vào.

Trong bài này, chúng ta sẽ có một cái nhìn vào sự khác biệt giữa các NPMnpx và học hỏi làm thế nào để tận dụng tốt nhất từ cả hai.

Trước tiên, hãy hiểu npm thực sự là gì và tất cả chúng ta hoàn toàn có thể làm gì với nó .

npm là một vài điều. Trước hết, nó là một kho tàng trữ trực tuyến để xuất bản những dự án Bất Động Sản Node. js mã nguồn mở .

Thứ hai, nó là một công cụ CLI tương hỗ bạn thiết lập những gói đó và quản trị những phiên bản và phụ thuộc vào của chúng. Có hàng trăm nghìn thư viện và ứng dụng Node. js trên npm và nhiều hơn nữa được thêm vào mỗi ngày .

npm tự nó không chạy bất kỳ gói nào. Nếu bạn muốn chạy một gói sử dụng npm, bạn phải chỉ định gói đó trong package.jsontệp của mình .

Khi những tệp thực thi được setup trải qua những gói npm, npm sẽ tạo link đến chúng :

  • cài đặt cục bộ có liên kết được tạo tại ./node_modules/.bin/thư mục
  • cài đặt toàn cầu có các liên kết được tạo từ bin/thư mục chung (ví dụ: /usr/local/bintrên Linux hoặc tại %AppData%/npmtrên Windows)
$ ./node_modules/.bin/your-package
{ "name": "your-application", "version": "1.0.0", "scripts": { "your-package": "your-package" }
}
npm run your-package

May mắn thay, đây là nơi mà npx có ích.

Vì npm phiên bản 5.2.0 nên npx được đóng gói sẵn với npm. Vì vậy, nó là một tiêu chuẩn thời nay .

npx cũng là một công cụ CLI có mục đích là giúp dễ dàng cài đặt và quản lý các phần phụ thuộc được lưu trữ trong sổ đăng ký npm.

Bây giờ rất thuận tiện để chạy bất kể loại tệp thực thi nào dựa trên Node. js mà bạn thường thiết lập qua npm .

Bạn hoàn toàn có thể chạy lệnh sau để xem nó đã được setup cho phiên bản npm hiện tại của bạn chưa :

$ which npx
$ npm install -g npx

Nếu bạn muốn thực thi một gói được thiết lập cục bộ, tổng thể những gì bạn cần làm là nhập :

$ npx your-package

Một ưu điểm chính khác là năng lực thực thi một gói chưa được thiết lập trước đó .

Đôi khi bạn chỉ muốn sử dụng một số ít công cụ CLI nhưng bạn không muốn setup chúng trên toàn thế giới chỉ để kiểm tra chúng. Điều này có nghĩa là bạn hoàn toàn có thể tiết kiệm chi phí một số ít khoảng trống đĩa và chỉ chạy chúng khi bạn cần. Điều này cũng có nghĩa là những biến toàn cục của bạn sẽ ít bị ô nhiễm hơn .



Cái này khá đẹp .

Bạn hoàn toàn có thể sử dụng npx để chạy bất kể kho tàng trữ và tàng trữ GitHub nào. Hãy tập trung chuyên sâu vào việc thực thi ý chính GitHub vì việc tạo một ý chính thuận tiện hơn .

Tập lệnh cơ bản nhất bao gồm tệp JS chính và a package.json. Sau khi bạn đã thiết lập các tệp, tất cả những gì bạn phải làm là chạy npx với liên kết đến ý chính như thể hiện trong hình trên.

Ở đây bạn hoàn toàn có thể tìm thấy mã mà tôi đã sử dụng cho ví dụ này .

Đảm bảo rằng bạn đọc kỹ bất kỳ tập lệnh nào trước khi thực thi để tránh các sự cố nghiêm trọng có thể xảy ra do mã độc.

npx giúp bạn dễ dàng kiểm tra các phiên bản khác nhau của gói hoặc mô-đun Node.js. Để kiểm tra tính năng tuyệt vời này, chúng tôi sẽ cài đặt cục bộ create-react-appgói và thử nghiệm phiên bản sắp tới.

Điều này sẽ liệt kê một số ít thẻ dist gần cuối đầu ra. Thẻ Dist cung ứng bí danh cho số phiên bản giúp bạn nhập thuận tiện hơn rất nhiều .

$ npm v create-react-app 

Sau khi setup, chúng tôi hoàn toàn có thể điều hướng đến ứng dụng như sau :

$ cd sandbox
$ npm start 

npx giúp chúng tôi tránh các vấn đề về lập phiên bản, phụ thuộc và cài đặt các gói không cần thiết mà chúng tôi chỉ muốn dùng thử.

Nó cũng cung ứng một cách rõ ràng và thuận tiện để thực thi những gói, lệnh, mô-đun và thậm chí còn cả những gists và kho tàng trữ GitHub .

Nếu bạn chưa sử dụng npx trước đây, giờ đây là thời gian tốt để mở màn !

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories