我有一个带有函数的javascript文件,该函数接收带有随机数的数组并返回一个解决方案,我需要能够从命令行运行此函数。
我想要的是能够键入以下内容:
myFunction 1,2,3,4,5,6,7
答案 0 :(得分:1)
Export您文件中的功能:
module.exports = function myFunction(){
// ...
}
然后通过首先运行node
然后执行:
> const myFunction = require('./path/to/the/file-containing-myFunction')`
之后你就可以像myFunction
这样使用:
> myFunction()
答案 1 :(得分:0)
您可以将Node.js用于JavaScript CLI。
您可以传递这样的参数 -
node calendar.js --year 2020 --month 7
使用上面的命令process.argv[]
数组将具有此值 -
['node', 'calendar.js', '--year', '2020', '--month', '7']
在您的代码中,可以使用数组process.argv[]
来读取它 -
var x = +process.argv[2]; //For third argument
var y = +process.argv[3]; //For fourth argument
第一和第二个参数分别为node
和calendar.js
答案 2 :(得分:0)
考虑NodeJS,创建一个包装器脚本,其中导入带有myFunction
的脚本(首先必须在原始文件中将module.exports.myFunction = myFunction
导出),然后从process.args
传递参数。跳过第一个元素(因为它始终是脚本的路径):
// argsrun.js
var myFunction = require('thescript.js').myFunction;
myFunction(process.args.slice(2));
并从CLI调用它:
node argsrun.js 1 2 3 4
答案 3 :(得分:0)
演示
'use strict';
function add( n1, n2 ) {
return n1 + n2;
}
function subtract( n1, n2 ) {
return n1 - n2;
}
调用函数调用:
window.add( 1, 2 );
window.subtract( 1, 2 );
从命令行调用该函数:
注意:这仅用于开发目的
请勿在制作中使用
eval
将它放在文件的底部:
eval( process.argv[ 2 ] )
通过执行以下操作调用您的函数:
node index.js "add( 1, 2 )"
node index.js "subtract( 1, 2 )"
使用您的终端