npx的使用

npx的使用

npm在5.2版本之后添加了npx命令。

npx的工作原理:

  • node_modules/.bin目录查找命令是否存在。找到之后执行
  • 如果在bin目录下找不到命令,那么就会去$path里查找命令,找到后执行
  • 如果都找不到,那么就会创建一个临时的文件下载所需要的的依赖包,使用完成后删除,不污染全局环境

安装npx

  • 先检查一下自己的电脑上是否有npx(直接使用npx命令也会自动全局安装)。

  • 如果没有,打卡cmd全局安装npx

    npm install -g npx
    

使用npx

  • npx主要是为了解决调用项目内部安装的模块,例如:

    $ npm install -D mocha
    
  • 但是调用的时候我们只能通过项目脚本和pacage.json文件调用:

    # 项目根目录下
    $ node-modules/.bin/mocha --version
    
  • 但是npx调用就很方便

    $ npx mocha --version
    
  • 调用系统命令

    # 等同于ls
    $ npx ls
    

    注意,Bash 内置的命令不在$PATH里面,所以不能用。比如,cd是 Bash 命令,因此就不能用npx cd

  • 临时安装

    $ npx create-react-app packageName
    

    会将create-react-app下载到一个临时目录,使用过后再进行删除。

  • 下载时允许指定版本。

    $ npx uglify-js@3.1.0 main.js -o ./dist/main.js
    

    指定3.1.0版本的uglify-js版本。

    注意,只要 npx 后面的模块无法在本地发现,就会下载同名模块。比如,本地没有安装http-server模块,下面的命令会自动下载该模块,在当前目录启动一个 Web 服务。

    $ npx http-server
    
  • --no-install参数和--ignore-existing参数

    • 如果想强制npx使用本地依赖不下载远程依赖。就是用--no-install,如果本地没有依赖包的话,就会报错

      $ npx --no-install http-server
      
    • 相反,想跳过本地依赖使用远程安装就是用参数--ignore-existing.

      $ npx --ignore-existing create-react-app packageName
      

指令

  • -p参数

    -p参数用于指定npx所要安装的模块:

    $ npx -p node@0.12.8 node -v
    # v 0.12.8
    
  • -c参数

    -.- 表示没看懂,也觉得不常用,不写了

参考文献

posted @ 2021-03-29 14:06  H_pig  阅读(356)  评论(0编辑  收藏  举报