uniapp开发app框架在提升开发效率中的独特优势与应用探索
756
2022-11-18
npx教程
npx 主要用于调用项目内部安装的模块,若本地找不到模块,就会-同名模块。
比如,本地没有安装Web 服务。
npx 从5.2版开始,增加了 npx 命令,万一不能用,就要手动安装一下。
npm install -g npx
使用场景一:调用项目内部安装的模块
如使用npm安装了插件Mocha ,查看Mocha的版本,需用命令
# 项目的根目录下执行node-modules/.bin/mocha --version
改用npx
npx mocha --version
即npx可以直接调用项目内部安装的模块!
使用场景二:避免全局安装模块
默认 create-react-app 这个模块是全局安装
npx create-react-app my-react-app
npx 将create-react-app-到一个临时目录,使用以后再删除。以后再次执行上面的命令,会重新-create-react-app
使用场景三:执行 GitHub 源码
# 执行 Gist 代码$ npx 执行仓库代码$ npx github:piuccio/cowsay hello
注意,远程代码必须是一个模块,即必须包含package.json和入口脚本。
使用场景四:使用不同版本的 node
利用 npx 可以-模块这个特点,可以指定某个版本的 Node 运行脚本
$ npx node@0.12.8 -vv0.12.8
上面命令会使用 0.12.8 版本的 Node 执行脚本。原理是从 npm -这个版本的 node,使用后再删掉。
某些场景下,这个方法用来切换 Node 版本,要比 nvm 那样的版本管理器方便一些。
--no-install参数——强制使用本地模块,不-远程模块
npx --no-install 模块名
--ignore-existing参数——忽略本地的同名模块,强制安装使用远程模块
npx --ignore-existing 模块名
-p 参数——指定 npx 所要安装的模块
$ npx -p node@0.12.8 node -v v0.12.8
上面命令先指定安装node@0.12.8,然后再执行node -v命令。
-p参数对于需要安装多个模块的场景很有用。
$ npx -p lolcatjs -p cowsay [command]
-c 参数 —— 所有命令都用 npx 解释
功能1:将所有命令都用 npx 解释功能2:将环境变量带入所要执行的命令
例如执行下方命令,只有第一个可执行项会使用 npx 安装的模块,后面的可执行项还是会交给 Shell 解释。
$ npx -p lolcatjs -p cowsay 'cowsay hello | lolcatjs'# 报错
上面代码中,cowsay hello | lolcatjs执行时会报错,原因是第一项cowsay由 npx 解释,而第二项命令localcatjs由 Shell 解释,但是lolcatjs并没有全局安装,所以报错。
改用-c参数就可以
$ npx -p lolcatjs -p cowsay -c 'cowsay hello | lolcatjs'
npm 提供当前项目的一些环境变量,可以用下面的命令查看。
$ npm run env | grep npm_
-c参数可以把这些 npm 的环境变量带入 npx 命令。
$ npx -c 'echo "$npm_package_name"'
上面代码会输出当前项目的项目名。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~