前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >一个关于npm中scripts的小问题

一个关于npm中scripts的小问题

作者头像
凌虚
发布2020-07-18 18:26:18
发布2020-07-18 18:26:18
4140
举报

今天发现了一个关于npm的小问题,大家应该知道每个node工程都有一个package.json文件,里面会记录一些该项目的概要信息,例如项目名称、版本、作者、git库、项目的协议(MIT这种)、依赖包等等,当然还会有一个scripts脚本对象(这些都是可以缺省的,也就是说某些项目里没写协议、版本等等都很正常)。

以下是一个package.json文件的部分截图:

注意 scripts 部分,里面都是键值对的形式,上图中的 start、dev、run、stop 等等都是可以随意定义的键,而值则是一个字符串命令。

如果你用过express,相信你对 npm start 不陌生,其实 npm start 执行的就是以上定义好的 scripts 对象中键为 start 的命令,也就是相当于你在命令行中输入 node ./bin/www 。

但是,如果当我执行一个自定义的其他脚本时,例如执行 npm dev ,程序将会报错说指令有误。

如上图所示,npm <command> 中的command必须是那一堆的其中之一,这样的话那必须选一个才行吗,这还叫什么自定义。当然不是这样的。

当你执行 npm run dev 时,it worked ! 而再执行 npm run start,同样ok,这也就是说完整的执行scripts中的脚本,应该是 npm run <scripts_key(start、dev等)>,而 npm 为了使用方便使用,对某些默认的指令(也就是上图中command is one of 后面那一堆)不需要在中间加run,当然加上也没问题。

以上就是这些,顺便说一下,作者本人也并不是什么大神,公众号以后会多记录下自己发现的种种问题,权当是一个学习成长的过程,我也很希望更多的node开发者能与我学习交流,直接搜索微信号 rifewang 就可以找到我。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Node Python Go全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档