npx
là một lệnh rất mạnh mẽ có sẵn trong npm bắt đầu từ phiên bản 5.2, phát hành vào tháng 7 năm 2017.
Nếu bạn không muốn cài đặt npm, bạn có thể cài đặt npx như một gói độc lập
npx
cho phép bạn chạy mã được xây dựng bằng Node.js và được xuất bản thông qua sổ đăng ký npm.
Mục lục
Dễ dàng chạy các lệnh cục bộ
Các nhà phát triển Node.js đã từng xuất bản hầu hết các lệnh thực thi dưới dạng gói toàn cầu, để chúng nằm trong đường dẫn và có thể thực thi ngay lập tức.
Đây là một khó khăn vì bạn không thể thực sự cài đặt các phiên bản khác nhau của cùng một lệnh.
Đang chạy npx commandname
tự động tìm tham chiếu chính xác của lệnh bên trong node_modules
thư mục của một dự án, mà không cần biết đường dẫn chính xác và không yêu cầu gói phải được cài đặt trên toàn cầu và trong đường dẫn của người dùng.
Thực thi lệnh không cần cài đặt
Có một tính năng tuyệt vời khác của npx
cho phép chạy các lệnh mà không cần cài đặt chúng trước.
Điều này khá hữu ích, chủ yếu là vì:
- bạn không cần cài đặt bất cứ thứ gì
- bạn có thể chạy các phiên bản khác nhau của cùng một lệnh, sử dụng cú pháp @version
Một minh chứng điển hình của việc sử dụng npx
là thông qua cowsay
yêu cầu. cowsay
sẽ in một con bò nói những gì bạn đã viết trong lệnh. Ví dụ:
cowsay "Hello"
sẽ in
CONSOLE
_______
< Hello >
-------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Điều này chỉ hoạt động nếu bạn có cowsay
lệnh được cài đặt trên toàn cầu từ npm trước đó. Nếu không, bạn sẽ gặp lỗi khi cố chạy lệnh.
npx
cho phép bạn chạy lệnh npm đó mà không cần cài đặt trước. Nếu lệnh không được tìm thấy, npx
sẽ cài đặt nó vào bộ đệm trung tâm:
BASH
npx cowsay "Hello"
sẽ thực hiện công việc.
Bây giờ, đây là một lệnh vô dụng buồn cười. Các tình huống khác bao gồm:
- chạy
vue
Công cụ CLI để tạo các ứng dụng mới và chạy chúng:npx @vue/cli create my-vue-app
- tạo một ứng dụng React mới bằng cách sử dụng
create-react-app
:npx create-react-app my-react-app
và nhiều thứ khác nữa.
Chạy một số mã bằng phiên bản Node.js khác
Sử dụng @
để chỉ định phiên bản và kết hợp phiên bản đó với node
gói npm:
BASH
npx node@10 -v
npx node@12 -v
Điều này giúp tránh các công cụ như nvm
hoặc các công cụ quản lý phiên bản Node.js khác.
Chạy các đoạn mã tùy ý trực tiếp từ một URL
npx
không giới hạn bạn với các gói được xuất bản trên sổ đăng ký npm.
Bạn có thể chạy mã nằm trong ý chính GitHub, ví dụ:
BASH
npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32
Tất nhiên, bạn cần phải cẩn thận khi chạy mã mà bạn không kiểm soát, vì quyền lực lớn đi kèm với trách nhiệm lớn.