如何使用node.js和bash脚本运行javascript文件?

时间:2012-10-28 01:11:51

标签: javascript node.js

我是javascript编程的新手。我有一个任务来编写一个运行一些input.json的.js文件。我应该这样运行它:

./name.js input.json

如何在此过程中合并node.js以及如何让终端接受该脚本?

谢谢!

编辑: 我解决了我的问题!无论如何,我无法回答我自己的问题因为规则......

#!/usr/bin/env node
var fs = require('fs');

args = []
process.argv.forEach(function (val, index, array) 
{
    args.push(val); 
});

var file = fs.readFileSync(args[2], "UTF-8", function (err, data) 
{
if (err) throw err;
});

这基本上就是我所做的。我花了一些时间搜索和组合我从不同帖子找到的东西,并让它工作 - 也许这不是最好的方式,但它的工作原理。这将我的.json文件存储到文件变量中,然后我将其作为函数参数传递到其他地方。谢谢大家。

3 个答案:

答案 0 :(得分:10)

   #!/usr/bin/env node
   var commandLineArguments = process.argv.slice(2);
   ...

答案 1 :(得分:2)

可能太明显了,但最简单的方法是:

node ./name.js input.json

答案 2 :(得分:0)

也许有点晚了。但是你的帖子激励了我。我不知道你可以使用js来申请。我总是用shell脚本做到这一点。 she-bang指向nodejs的解决方案非常棒。

  

感谢您的建议!我最终做了类似的事情。当我   做了console.log(commandLineArguments);它给了我['input.json'],   这不完全是我想要的。

现在我可以回答你的评论了。它给你[ 'input.json' ]对吗? []告诉您它是一个数组,而'input.json'是唯一的项目。所以你必须选择那个数组的第一个元素。

console.log(commandLineArguments[0]);

我希望即使为时已晚也能帮到你。

谢谢:D