2012-10-28 2 views
9

저는 자바 스크립트를 처음 사용했습니다. 일부 input.json을 실행할 .js 파일을 작성하는 작업이 제공됩니다. 나는 등을 실행하기로 해요 :node.js 및 bash 스크립트를 사용하여 javascript 파일을 어떻게 실행합니까?

./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 파일을 file 변수에 저장하고, 다른 곳에서 함수 인수로 전달합니다. 모두에게 감사드립니다.

+2

당신은 node.js. 가리키는하는 그녀 - 뱅 라인 필요 '#!/usr/bin/env node' 아마도 –

+0

중복 될 수 있습니다. [\ node \'를 호출하지 않고 Node.js 스크립트를 실행할 수 있습니까?] (http://stackoverflow.com/questions/4806571/is- 노드없이 js 스크립트 실행 가능) –

+0

@MattBall 두 가지 질문이 중복되는 것처럼 보이지 않습니다. –

답변

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

제안 해 주셔서 감사합니다! 나는 비슷한 일을 끝내었다. 내가'console.log (commandLineArguments);를했을 때'' 'input.json']'을 주었는데 ... 정확히 무엇이 아니 었는가 ... – minzeycat

+0

'console.log (util.inspect (commandLineArguments)))'' –

2

어쩌면 너무 분명하지만, 가장 쉬운 방법은 다음과 같습니다 조금 늦게 어쩌면

node ./name.js input.json 
+1

예, 이것은 처음에 한 일입니다.하지만 입력하면 실현됩니다. Cthulhu가 위에서 말한 것, 나는'node' 부분없이 그것을 할 수있었습니다! – minzeycat

0

. 그러나 당신의 포스트는 저를 고무 시켰습니다. 응용 프로그램에 js를 사용할 수 있다는 것을 알지 못했습니다. 나는 항상 쉘 스크립트로 해냈다. nodejs를 가리키는 she-bang의 해결책은 대단합니다.

감사합니다. 나는 비슷한 일을 끝내었다. 내가 할 때 console.log (commandLineArguments); 그것은 나에게 '[input.json'], 을주었습니다. 정확히 내가 원했던 것은 아닙니다.

이제 귀하의 의견에 답변 할 수 있습니다. 그것은 [ 'input.json' ] 맞습니까? []은 배열임을 나타내며 'input.json'은 유일한 항목입니다. 따라서 배열의 첫 번째 요소를 선택해야합니다.

console.log(commandLineArguments[0]); 

너무 늦었을 때도 도와 줄 수 있기를 바랍니다.

감사합니다 : D

관련 문제