比如现在有这样的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来执行
添加回答
举报
0/150
提交
取消