zoukankan      html  css  js  c++  java
  • 浅谈npx&&npx和npm之间的关系

    (1)版本注意

      npm 5.2.0开始npm便开始携带了npx

    (2)npx是什么?

      npx是一个工具,它是npm v5.2.0引入的一条命令(npx),是npm的一个包执行器,只要为了提高从npm注册表使用软件包的体验 。 npm使得它非常容易地安装和管理托管在注册表上的依赖项, npx使得使用CLI工具和其他托管在注册表。

      就像npm极大地提升了我们安装和管理包依赖的体验,在npm的基础之上,npx让npm包中的命令行工具和其他可执行文件在使用上变得更加简单。它极大地简化了我们之前使用纯粹的npm时所需要的大量步骤。

    (3)实践验证
      上述都是概念性的,接下来结合实例,一起分析下。最直观效果
    npx 会帮你执行依赖包里的二进制文件

    举例来说,之前我们可能会写这样的命令:

    npm i -D webpack
    ./node_modules/.bin/webpack -v

    如果你对 bash 比较熟,可能会写成这样

    npm i -D webpack
    `npm bin`/webpack -v

    有了 npx,你只需要这样

    npx webpack -v

    也就是说 npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装!

      
    (3)区别二
      npx可以执行文件,但是npm不可以

    npx 甚至支持运行远程仓库的可执行文件:

    npx github:piuccio/cowsay hello

    再比如 npx http-server 可以一句话帮你开启一个静态服务器!(第一次运行会稍微慢一些)

    npx http-server

    指定node版本来运行npm scripts:

    npx -p node@8 npm run build

    (4)小结

    主要特点:
      1、临时安装可执行依赖包,不用全局安装,不用担心长期的污染。
       2、可以执行依赖包中的命令,安装完成自动运行。
      3、自动加载node_modules中依赖包,不用指定$PATH。
      4、可以指定node版本、命令的版本,解决了不同项目使用不同版本的命令的问题。
     
     
     
     

    .

  • 相关阅读:
    ASP.NET MVC3 系列教程 部署你的WEB应用到IIS 6.0
    ASP.NET MVC3 系列教程 控制器 & 视图
    Windows 8 如何安装到Virtual Box虚拟机上(x86)
    工具脚本(网络编码)
    c库的rand/random随机数产生函数性能差?
    shell脚本模版
    linux的IO调度算法和回写机制
    thrift安装脚本
    通用高效的c++内存池(特定类型)
    [转] NoSQL生态系统
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/12411014.html
Copyright © 2011-2022 走看看