Node命令行工具:学习篇

学习写一个简单的Node命令行工具(写给自己看的🙄)

  • 1 创建一个js文件 vi fed.js, 并且写入console.log('这是我的命令行工具哦');
  • 2 添加linux脚本的运行环境,继续vi fed.js, 然后在文件的最上面一行添加#!/usr/bin/env node来告诉shell工具这个文件需要用nodejs来运行,以后执行运行该文件就可以默认采用node环境来运行该文件了。
  • 3 为该文件添加 可执行 的权限,命令行输入chmod +x fed.js, 这样以后可以直接在命令行工具上找到fed.js的文件位置并且可以直接运行./fed.js,就可以打印出之前的console.log了,如果没有添加可执行的权限是不行的哦
  • 4 刚才运行的时候还是加了相对路径./fed.js的命令才运行起来的,这样显然太麻烦,所以可以加入环境变量,那么不管在什么地方都可以直接运行了,首先查看已有的环境变量echo $PATH
  • 5 为fed.js创建一个全局变量的链接, ln ./fed.js /usr/local/bin/fed, 相当于在全局的环境变量下创建了一个fed的变量并且链接到fed.js,现在就可以直接输入fed来运行之前的fed.js

不足之处

  • 上面生成的命令变量,如果依赖了node_module的包就找不到依赖了,所以就要借助npm来生成环境变量了
  • 删除刚才的全局变量rm 'which fed', 然后npm init,一路回车,在package.json里面写上bin: { 'fed': './fed.js' }创建一个连接
  • 最后在命令行关联, npm link即可,再试试fed就成功了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,650评论 2 41
  • JavaScript 模块化编程 网站越来越复杂,js代码、js文件也越来越多,会遇到什么问题? 命名冲突; 文件...
    magic_pill阅读 1,510评论 0 1
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey阅读 6,289评论 2 36
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 4,134评论 2 58
  • 关注战隼(warfalcon)的公众号,已经有一年多的时间。战隼老师是真正用好习惯和坚持改变自己的榜样。我偶尔会在...
    AAAAA蕙质兰心阅读 375评论 0 0