加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

详解NodeJS和命令行程序

发布时间:2019-04-18 02:08:13 所属栏目:教程 来源:刘观宇
导读:副标题#e# 源起 植根于Unix系统环境下的程序,很多都把贯彻Unix系统设计的哲学作为一种追求。Unix系统管道机制的发明者Douglas McIlroy把Unix哲学总结为三点: 专注做一件事,并做到极致。 程序协同工作。 面向通用接口,如文本数据流。 随着Unix/Linux系统

ora打印出一个优雅的文本小图标,用于在各种情况下给出用户优雅而清晰的提示。用法很简单:

  1. const ora = require('ora'); 
  2.  
  3. const spinner = ora('Loading unicorns').start(); 
  4.  
  5. setTimeout(() => { 
  6.     spinner.color = 'yellow'; 
  7.     spinner.text = 'Loading rainbows'; 
  8. }, 1000); 

详解NodeJS和命令行程序

6. 命令行玩浏览器 puppeteer

puppeteer是谷歌开发的无头浏览器,使得命令行亦可操作浏览器,并能根据浏览器的执行结果进行进一步操控。因为puppeteer源自官方,所以之前类似项目PhantomJS的开发者决定不再更新PhantomJS。

目前puppeteer已经广泛用于前端测试,端对端测试,以及爬虫。

鉴于篇幅无法展开介绍,读者可以参考其官方文档5。同时,奇舞周刊中黄小璐老师的的这篇文章6以及李光钊老师的这篇文章7都曾经介绍过puppeteer的使用。

发布NodeJS包

写好的NodeJS包需要发布出去,才能给大家使用。npm publish就是为了这个需求而产生的。为了发布你需要在npm上注册用户,并登录,然后发布就好了。npm的详情页面以及各个镜像会在一段时间内自动更新。

如果你的NodeJS包,是使用尚未广泛支持的语法写成的。那么需要在package.json的script字段加入prepublish命令,调用babel等预编译器处理,使得程序可以有更多的兼容性。

对于希望用户在全局使用的命令,要注意在根目录写好入口,一般是在package.json中的bin字段,指定入口文件。在安装时,如果是全局安装,npm将会使用符号链接把这些文件链接到prefix/bin,如果是本地安装,会链接到./node_modules/.bin/。

除了通常的包,还有一种是带有scope的包,vue-cli的3.0版本就是@vue开头的。这个scope是组织的名字。每一个带有scope的包有公有和私有之分,私有的需要付费给npm。

目前npm的读写权限策略如下:

如果是个人,可以考虑增加公有的命名空间。如果是企业付费用户,你在发布相关包之前,需要申请成为这个scope的member。

对公有scope,首先将包的name改为@scope名字/包名,同时,在发布时,使用npm publish --access public即可。

小结

本文简述了命令行的意义和优势,介绍了解释型命令行的运行机制,同时介绍了几个NodeJS相关的命令行工具,推荐了几款撰写命令行程序常用的包,最后,概述了发布包和使用scope的发布情况。希望给大家的NodeJS命令行相关开发和技术选型,提供一些有用的帮助。

文内链接:

  • https://poi.js.org/
  • https://github.com/tj/n/issues/511
  • https://github.com/coreybutler/nvm-windows
  • https://github.com/remy/nodemon/blob/master/doc/sample-nodemon.md
  • https://github.com/GoogleChrome/puppeteer
  • https://mp.weixin.qq.com/s/TZgQPKrpIskIgxX3LCXZYw
  • https://mp.weixin.qq.com/s/Xypg-9qZ8OqsPczEKdn6JA

【本文是51CTO专栏机构360技术的原创文章,微信公众号“360技术( id: qihoo_tech)”】

戳这里,看该作者更多好文

【编辑推荐】

  1. 程序员才懂的搞笑图!保准你笑出猪叫......
  2. 几行JavaScript代码构建计算机视觉程序,这里有6个js框架
  3. 牛叉程序员都在看3月的这十篇热门文章
  4. 为什么国内程序员996.ICU,而美国程序员却可以轻松"养老"?
  5. 程序员的宿命是怎样的
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读