比如現(xiàn)在有這樣的main.jsfunctionexec(flag){console.log(flag);};exec("HelloWorld!");然后在cmd中執(zhí)行cdC:\Users\Administrator\Desktop\main//文件地址nodemain.js得到HelloWorld!如果調(diào)用nodejs的commander模塊(需下載,不是nodejs核心模塊)[npminstallcommander],可以實現(xiàn)在命令行根據(jù)參數(shù)執(zhí)行js中定義的函數(shù),如修改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!同理,如果定義了其他函數(shù)都可以用這種方式運行,很方便現(xiàn)在問題是,希望exec這個函數(shù)可以在全局使用比如在cmd中直接運行execHello!就可以直接打印出Hello!PS:在npm中很多模塊都是這樣直接可以在全局調(diào)用,直接在命令行輸入對應(yīng)命令就可以執(zhí)行動作,而不是用node**.js這種方式執(zhí)行,比如百度前端工具fis,可以直接用fis+參數(shù)執(zhí)行相對應(yīng)的動作真心求教這是如何實現(xiàn)的
nodejs寫的小工具,如何使用命令行直接執(zhí)行,而不是先調(diào)用main.js,具體情況往下看
蝴蝶不菲
2019-04-19 16:12:43