现在的位置: 首页 > web前端 > 正文

Node js 命令行工具的编写

2020年07月07日 web前端 ⁄ 共 1080字 ⁄ 字号 评论关闭

  之前使用过一些全局安装的NPM包,安装完之后,可以通过其提供的命令,完成一些任务。比如Fis3,可以通过fis3serverstart开启fis的静态文件服务,通过fis3release开启文件编译与发布;还有vue-cli,可以通过vueinitwebpackmy-project来初始化vue+webpack的项目基础配置。最近有一个需求,需要写一个类似vue-cli的NPM包,通过命令行操作实现项目初始配置,所以就查看了相关资料,学习了一下如何使用node来生成自己的命令。


  Nodejs编写命令行


  命令的目标:在当前目录下开启一个静态文件服务,端口号为8085


  创建目录


  构成命令的基础是需要一个命令文件web.js和package.json配置文件,执行以下命令:


  $mkdirnode-commander#创建一个文件夹


  $cdnode-commander&&mkdirbin


  $npminit#初始化package.json文件<br>$cdbin&&touchweb.js#创建命令文件


  Nodejs命令文件


  #!/usr/bin/envnode


  varexpress=require('express');


  varpath=process.cwd();


  functionrun(argv){


  if(argv[0]==='-v'||argv[0]==='--version'){


  console.log('versionis1.0.0');


  }


  elseif(argv[0]==='-h'||argv[0]==='--help'){


  console.log('usage:\n');


  console.log('-v--version[showversion]')


  }


  elseif(argv[0]==='-s'||argv[0]==='--start'){


  varapp=newexpress();


  app.use('/static',express.static(path));


  app.listen(8085,function(){


  console.log('serverstartatport8085');


  });


  }


  }


  run(process.argv.slice(2));


  总之,Nodejs文件的头部务必加入#!/usr/bin/envnode这行代码,这里表示使用node作为脚本的解释程序,node的路径通过env来查找,可以避免node安装路径不一带来的问题。

抱歉!评论已关闭.