Trình chạy gói nút npx

npx là một cách rất hay để chạy mã Node và cung cấp nhiều tính năng hữu ích

Trong bài đăng này, tôi muốn giới thiệu một lệnh rất mạnh có sẵn trongnpmbắt đầu phiên bản 5.2, phát hành vào tháng 7 năm 2017:npx.

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

npxcho phép bạn chạy mã được xây dựng bằng Node và được xuất bản thông qua sổ đăng ký npm.

Dễ dàng chạy các lệnh cục bộ

Các nhà phát triển nút đã từng xuất bản hầu hết các lệnh thực thi dưới dạng các 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ạynpx commandnametự động tìm tham chiếu chính xác của lệnh bên trongnode_modulesthư 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ủanpm, 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ì:

1) bạn không cần cài đặt bất cứ thứ gì 2) 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ụngnpxlà thông quacowsaychỉ huy.cowsaysẽ in một con bò nói những gì bạn đã viết trong lệnh. Ví dụ:

cowsay "Hello"sẽ in

 _______
< Hello >
 -------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Now, this if you have the cowsay command globally installed from npm previously, otherwise you’ll get an error when you try to run the command.

npx allows you to run that npm command without having it installed locally:

npx cowsay "Hello"

will do the job.

Now, this is a funny useless command. Other scenarios include:

  • running the vue CLI tool to create new applications and run them: npx vue create my-vue-app
  • creating a new React app using create-react-app: npx create-react-app my-react-app

and many more.

Once downloaded, the downloaded code will be wiped.

Run some code using a different Node version

Use the @ to specify the version, and combine that with the node npm package:

npx [email protected] -v #v6.14.3
npx [email protected] -v #v8.11.3

This helps to avoid tools like nvm or the other Node version management tools.

Run arbitrary code snippets directly from a URL

npx does not limit you to the packages published on the npm registry.

You can run code that sits in a GitHub gist, for example:

npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32

Of course, you need to be careful when running code that you do not control, as with great power comes great responsibility.

Download my free Node.js Handbook


More node tutorials: