9

我是 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 文件存储到文件变量中,然后我将其作为函数参数传入其他地方。感谢大家。

4

3 回答 3

11
   #!/usr/bin/env node
   var commandLineArguments = process.argv.slice(2);
   ...
于 2012-10-28T03:13:03.967 回答
2

也许太明显了,但最简单的方法是:

node ./name.js input.json
于 2012-10-28T02:59:09.680 回答
0

也许有点晚了。但是你的帖子启发了我。我不知道您可以将 js 用于应用程序。我总是用shell脚本来做。she-bang 指向 nodejs 的解决方案很棒。

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

现在我可以回答你的评论了。它给你[ 'input.json' ]的权利?[]告诉你它是一个数组并且是'input.json'唯一的项目。所以你必须选择该数组的第一个元素。

console.log(commandLineArguments[0]);

我希望我能帮助你,即使为时已晚。

谢谢 :D

于 2014-02-22T19:26:39.787 回答