php执行npm命令_npm系列之命令执行

当我想使用vue的脚手架来创建一个项目的时候,我应该怎么做?

执行命令 npm install -g @vue/cli 全局安装,之后就可以在控制台中使用vue create programName 来创建一个项目。

为什么可以直接使用vue命令?

  • 这类支持命令的依赖会在项目中指定命令中可执行文件的位置,在package.json中的bin属性中指定。command: filePath

67c063950dd2514143f4e6ae4a95ac31.png
  • 我们执行全局安装时,依赖会被安装到全局的依赖目录(可以用npm root -g查看)。
    如:

2ec36bbae8eb0acf96e8245a4a5bff69.png


npm install 时会分析每个依赖中package.json中的bin属性,会在lib同级的bin目录中创建一个名为command的文件软链接,指向filePath.

f0278ab70301082d33defa40165e84c2.png

(不同的环境具体路径可能不一样,我这边是装了nvm,管理node的版本的)

294d5633e6cbce924e0fb7e042fc69b9.png
  • 系统将bin目录写入环境变量
    (mac用冒号分隔不同的路径)

9601cd0f3dca4c3a5d87b9753a9199b4.png

因为bin在环境变量中,所以我们能在命令中中直接使用这些命令。

全局安装可以全局使用命令,那局部安装勒?

当我们在项目中执行npm install packageName 时,就可以在项目中安装某一个依赖。
同样地,如果这个依赖是的package.json中是有bin属性的。
会在node_modules/.bin目录中创建一个名为command的文件软链。

cddec56affe1e29a898e39bb761b0446.png

那局部安装的项目要怎么使用勒?

package.json中的script字段可以用来自定义脚本命令,使用npm run command来执行。
- 当执行npm run command时,会自动创建一个shell,再这个shell里面执行指定的脚本命令。因此,只要是shell可以运行的命令,就可以写在npm script 中。
- npm创建的shell,会将当前目录的nodemodules/.bin目录交到环境变量中,执行结束后,再将环境变量恢复原样

这就意味着,node_modules/.bin目录中的所有命令,可以使用添加再script中进行调用。

ec28bf3669090e17f25741e8658e1c60.png
在performance项目中执行script中的命令,执行时将项目中的node_modules/.bin目录添加到了环境变量中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模拟产品展示 Flash无法展示的追踪过程

鼠标滑过小图时,左侧前四张大图可以,但是最后那张大图无法展示: falsh产品展示需要通过参数传递,把关联产品id的图片get出来,如: http://192.168.8.166:90/category/prod_img.aspx?prodid101 结果&#xf…

git提交 本地分支和远程分支断开连接

1级标题 当 git push origin branch_name时遇到报错如下: fatal:‘origin’ does not appear to be a git repository fatal:Could not read from remote repository 原因: 本地分支和远程分支断开连接 解决方法: cd 本地分支里 1、git…

编程高手箴言

本书是作者十余年编程生涯中的技术和经验的总结。内容涵盖了从认识CPU、Windows运行机理、 编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题 的认知过程和透彻的分析,以及优秀和精彩的编程经验。…

nodejs里的module.exports和exports

引 在node.js中我们可以使用module.exports和exports导出模块,设置导出函数、数组、变量等等 为什么可以用这两个模块? 或者直接问,node.js的模块功能是怎么实现的。 这样得益于javascript是函数性的语言,并支持闭包。 js的闭包 直…

c语言贪吃蛇最简单代码_C语言指针,这可能是史上最干最全的讲解啦(附代码)!!!...

点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!指针对于C来说太重要。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识。所…

SpringSecurity深度解析与实践(3)

这里写自定义目录标题 引言SpringSecurity之授权授权介绍java权限集成 登录失败三次用户上锁 引言 SpringSecurity深度解析与实践(2)的网址 SpringSecurity之授权 授权介绍 Spring Security 中的授权分为两种类型: 基于角色的授权&#…

简单解释什么是 依赖注入 和 控制反转

简单解释什么是 依赖注入 和 控制反转2017-07-09 关于 依赖注入 与 控制反转 的概念有些人觉得很难理解,最近在给别人讲这个概念的时候梳理了一个比较好理解的解释,而且我认为非技术人员也应该能听的懂,因此分享给大家,希望下次你…

python pip install指定国内源镜像

有时候安装一些依赖包,网不好,直接超时,或者这个包就是死都下不下来的时候,可以指定国内源镜像。 pip install -i 国内镜像地址 包名 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirr…

机器学习之单标签多分类及多标签多分类

单标签二分类算法 Logistic算法 单标签多分类算法 Softmax算法 One-Versus-One(ovo):一对一 One-Versus-All / One-Versus-the-Rest(ova/ovr): 一对多 ovo和ovr的区别 Error Correcting Output code…

ionic3 隐藏子页面tabs

看了几天ionic3 问题还挺多的,今天想把所有子页面tabs 给去掉,整了半天,发现app.Module 是可以配置的 修改 IonicModule.forRoot(MyApp) imports: [BrowserModule,// IonicModule.forRoot(MyApp),HttpModule,IonicModule.forRoot(…

cas单点登录-jdbc认证(三)

前言 本节的内容为JDBC认证,查找数据库进行验证,其中包括: 密码加密策略(无密码,简单加密,加盐处理)认证策略(jdbc)一、业务需求 不同的公司,需求业务需求或者…

get clone 出现 fatal: the remote end hung up unexpectedly5 MiB | 892.00 KiB/s 报错信息

fatal: the remote end hung up unexpectedly5 MiB | 892.00 KiB/s 解决方案 (亲测有效) 解决方案如下: git clone时加上 --depth1,比如: git clone https://gitee.com/songyitian/tctm.git --depth 1depth用于指定…

mybatis foreach map_重学Mybatis(六)-------输入映射(含面试题)

博主将会针对Java面试题写一组文章,包括J2ee,SQL,主流Web框架,中间件等面试过程中面试官经常问的问题,欢迎大家关注。一起学习,一起成长,文章底部有面试题。入参映射关键字说明图中paramenterTy…

php输出多余的空格或者空行

1&#xff0c;文件是否有bom。可以通过脚步检测&#xff0c;或者利用notepa打开&#xff0c;查看编码格式。 2. <?php echo something; ?> 或许是你的php标签外&#xff0c;有空格或者空行。一般的项目都是用框架&#xff0c;包含很多的文件&#xff0c;如果一个个文…

执行git命令时出现fatal: ‘origin‘ does not appear to be a git repository错误

执行git命令时出现fatal: ‘origin’ does not appear to be a git repository错误 在执行git pull origin master时出现&#xff1a;   fatal: ‘origin’ does not appear to be a git repository   致命提示:“origin”看起来不是一个git存储库   fatal: Could not r…

蒋涛作序盛赞Leo新作为“程序员职场实用百科全书”——《程序员羊皮卷》连载(1)

《程序员羊皮卷》当当购买地址&#xff1a;http://product.dangdang.com/product.aspx?product_id20691986 互动购买地址&#xff1a;http://www.china-pub.com/196049 程序员行业从外面看起来有很多绚丽的光环&#xff0c;这里有无数以程序致富的天才&#xff0c;世界首富比…

matlab ones函数_Matlab中相见恨晚的命令(持续更新)

知乎上有个“有哪些让人相见恨晚的Matlab命令”的话题&#xff0c;很多答主提供的命令确实很实用&#xff0c;为了更方便大家的学习&#xff0c;我就知乎上的答案和我自己想到的都综合整理成了一篇文章&#xff0c;把我觉得很实用的指令整理出来。知乎原答案链接dbstop if erro…

机器学习之特征工程

特征工程-概念 特征工程是一个面向十分广的概念&#xff0c;只要是在处理数据就可以认为是在做特征工程。个人理解&#xff0c;真正意义上的特征工程还是数据降维和数据升维的过程。 而前期对数据的处理过程&#xff1a; 需要哪些数据&#xff1f;数据如何存储&#xff1f;数…

ArcGIS AO开发高亮显示某些要素

参考代码1 ifeaturecursor pcur ifeatureclass.search(iqueryfilter pfilter); pfilter.whereclause strAddress; //输入查询条件&#xff0c;也就是你寸地址的字段名didian ifeature pfeat pcur.nextfeature();// 如果pCur多个要素&#xff0c;则可以考虑将其合并并一起高亮…

Oracle传输表空间介绍

传输表空间通过拷贝数据文件的方式&#xff0c;实现可跨平台的数据迁移&#xff0c;效率远超expdp/impdp, exp/imp等工具。还可以应用跨平台&数据库版本迁移表数据、归档历史数据和实现表空间级时间点数据恢复等场景。转载于:https://www.cnblogs.com/ilifeilong/p/7712654…