2015-11-26 3 views
5

Я новичок в node.js Я только что закончил установку на моем компьютере с Windows. На самом деле я следую учебнику по учебнику. После установки мне сказали создать файл main.js и поместить следующий код в файл.Ошибка Node.js для примера Hello World

/* Hello, World! program in node.js */ 
console.log("Hello, World!") 

я выполнил main.js файл, используя интерпретатор Node.js, набрав $ узлового main.js, но я имел следующие ошибки.

SyntaxError: Unexpected identifierat Object.exports.createScript  
(vm.js:24:10) 
at REPLServer.defaultEval (repl.js:221:25) 
at bound (domain.js:280:14) 
at REPLServer.runBound [as eval] (domain.js:293:12) 
at REPLServer.<anonymous> (repl.js:412:12) 
at emitOne (events.js:82:20) 
at REPLServer.emit (events.js:169:7) 
at REPLServer.Interface._onLine (readline.js:210:10) 
at REPLServer.Interface._line (readline.js:549:8) 
at REPLServer.Interface._ttyWrite (readline.js:826:14) 

Пожалуйста, помогите мне. Спасибо.

+1

Я думаю, что вы запускаете свой 'node main.js' не из оболочки, а из узла REPL) –

+1

Возможный дубликат [Node REPL throws SyntaxError: Неожиданный идентификатор] (http://stackoverflow.com/questions/29227486/node-repl-throws-syntaxerror-неожиданный идентификатор) –

ответ

6

Похоже, вы в REPL (Read-Eval-Print-Loop). Попробуйте нажать ctrl + c пару раз и посмотреть, выйдете ли вы в командную строку. Затем попробуйте запустить node main.js. Вы должны увидеть желаемый результат.

+0

Я использую машину для Windows. – Jayden

+0

Это не имеет значения. Ошибка, которую вы сделали (я думаю), заключается в том, что вы вводите «узел» в свое приглашение, нажмите enter, а затем попытаетесь запустить «node main.js». Вы не можете этого сделать. Просто запустите «node main.js» из основной командной строки. Не делайте первый «узел» – btwebste

+0

Итак, я запускаю то, что вы сказали, но результат был пуст, без ошибки из cmd. Любая причина для этого. Спасибо – Jayden

3

Я думаю, вы запустите свой node main.js не из оболочки, а из узла REPL.

Перед запуском node.

$ cat main.js 
console.log("Hello, World!") 
$ node main.js 
Hello, World! 

Хм, вы находитесь на Windows. Тогда вы должны сделать что-то подобное в вашем cmd.exe:

c:\...> cd c:\projects\hello 
c:\...> type main.js 
console.log("Hello, World!") 
c:\...> node main.js 
Hello, World! 

Примечание: cat и type выше команды являются избыточными и просто для демонстрации содержимого файла.


Кроме того, когда вы внутри nodejsREPL, вы можете написать javascript код непосредственно.
Просто попробуйте:

> console.log('Hey'); 
'Hey' 
undefined 
> require('./main.js'); 
Hello, World! 
undefined 
> exit 
Bye-bye 
+0

Не могли бы вы объяснить подробнее. И когда вы сказали cmd.exe, это то, что из windows или nodejs cmd? – Jayden

+0

Я о стандартной оболочке Windows. Я не знаю, как вы устанавливаете nodejs на окна. Я вообще не использую Windows. Может быть, у вас есть 'cygwin'? –

+0

У меня нет cygwin. – Jayden

0

Не запускайте node, прежде чем тестировать программу.

+0

не могли бы вы объяснить дальше. Спасибо – Jayden

+1

, когда вы вводите 'node' и вводите, вы будете внутри среды' REPL' узла. В 'REPL' вы должны написать код напрямую. например 'console.log (« Hello World »)'. Если вы хотите протестировать файл javascript, вы должны запустить 'node xx.js'. – yuetsh

0

вы можете запускать узел из любого места, используя обычную командную строку Windows 7, но вы должны указать имя файла js с точным пути к файлу.

, например: C: \ Users [ваше имя]> узел d: \ Проекты \ js_files \ main.js

он будет работать, если у вас есть множество путей = "C: \ файлы Progam \ nodejs \ bin "перед выполнением каких-либо действий.

Смежные вопросы