为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs写的小工具,如何使用命令行直接执行,而不是先调用main.js,具体情况往下看

nodejs写的小工具,如何使用命令行直接执行,而不是先调用main.js,具体情况往下看

开满天机 2019-04-10 20:48:31
比如现在有这样的main.jsfunctionexec(flag){console.log(flag);};exec("HelloWorld!");然后在cmd中执行cdC:\Users\Administrator\Desktop\main//文件地址nodemain.js得到HelloWorld!如果调用nodejs的commander模块(需下载,不是nodejs核心模块)[npminstallcommander],可以实现在命令行根据参数执行js中定义的函数,如修改main.js为varprogram=require('commander');functionexec(flag){console.log(flag);};program.command('exec').action(function(flag){exec(flag);});program.parse(process.argv);然后在cmd中输入nodemain.jsexecHello!可以直接打印出Hello!同理,如果定义了其他函数都可以用这种方式运行,很方便现在问题是,希望exec这个函数可以在全局使用比如在cmd中直接运行execHello!就可以直接打印出Hello!PS:在npm中很多模块都是这样直接可以在全局调用,直接在命令行输入对应命令就可以执行动作,而不是用node**.js这种方式执行,比如百度前端工具fis,可以直接用fis+参数执行相对应的动作真心求教这是如何实现的
查看完整描述

2 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

能这样子执行的都是二进制模块吧
还有另一种方法在文件第一行加上#!/usr/bin/envnode,然后sudochmodu+xapp.js,再通过./app.js来执行
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 352 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信