2015-11-26 25 views
5

Tôi mới sử dụng node.js Tôi vừa hoàn tất cài đặt nó trên máy tính của mình. Trên thực tế tôi đang làm theo một hướng dẫn trên tutorialspoint. Sau khi cài đặt, tôi được yêu cầu tạo tệp main.js và đặt mã sau vào tệp.Lỗi Node.js cho ví dụ Hello World

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

Tôi đã thực thi tệp main.js bằng cách sử dụng trình thông dịch Node.js bằng cách nhập $ node main.js, Nhưng tôi có các lỗi sau.

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) 

Hãy giúp tôi. Cảm ơn bạn.

+1

Tôi nghĩ, bạn đang chạy 'nút main.js' không phải từ trình bao, nhưng từ nút REPL) –

+1

Có thể trùng lặp của [Node REPL ném SyntaxError: Số nhận dạng không mong muốn] (http://stackoverflow.com/questions/29227486/node-repl-throws-syntaxerror-unexpected-identifier) ​​ –

Trả lời

6

Âm thanh như bạn đang ở trong REPL (Read-Eval-In-Loop). Hãy thử nhấn ctrl + c một vài lần và xem bạn có thoát ra khỏi dấu nhắc lệnh hay không. THEN thử chạy node main.js. Bạn sẽ thấy kết quả mong muốn của mình.

+0

Tôi đang sử dụng máy tính Windows. – Jayden

+0

Điều đó không quan trọng. Lỗi mà bạn đã thực hiện (tôi nghĩ) là bạn nhập "nút" vào lời nhắc, nhấn enter và sau đó cố gắng chạy "nút main.js". Bạn không thể làm điều này. Chỉ cần chạy "nút main.js" từ dấu nhắc lệnh chính. Đừng làm "nút" đầu tiên – btwebste

+0

Vì vậy, tôi chạy những gì bạn đã nói nhưng đầu ra trống không có lỗi từ cmd. Bất kỳ lý do nào cho điều đó. Cảm ơn bạn – Jayden

3

Tôi nghĩ rằng, bạn đang chạy node main.js không phải từ vỏ, nhưng từ nút REPL.

Bạn không cần chạy node trước đây.

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

Hm, bạn đang sử dụng Windows. Sau đó, bạn nên làm một cái gì đó như thế này trong cmd.exe của bạn:

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

Lưu ý: cattype lệnh trên là không cần thiết và chỉ dành riêng cho trình diễn nội dung tập tin.


Ngoài ra, khi bạn bên nodejsREPL, bạn có thể viết javascript mã trực tiếp.
Chỉ cần cố gắng:

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

Vui lòng giải thích thêm. Và khi bạn nói cmd.exe, nó có phải là của windows hoặc nodejs cmd không? – Jayden

+0

Tôi là về vỏ Windows chuẩn. Tôi không biết làm thế nào bạn cài đặt nút của bạn trên cửa sổ. Tôi không sử dụng Windows chút nào. Có thể bạn đã cài đặt 'cygwin'? –

+0

Tôi chưa cài đặt Cygwin. – Jayden

0

Không chạy node trước khi bạn kiểm tra chương trình của mình.

+0

bạn có thể giải thích thêm. Cảm ơn – Jayden

+1

khi bạn nhập 'nút' và nhập, bạn sẽ ở trong môi trường' REPL' của nút. Trong 'REPL', bạn nên viết mã trực tiếp. như 'console.log (" Hello World ")'. Nếu bạn muốn thử nghiệm một tệp javascript, bạn nên chạy 'nút xx.js'. – yuetsh

0

bạn có thể chạy nút từ bất kỳ nơi nào bằng dấu nhắc lệnh bình thường của Windows 7 nhưng bạn phải chỉ định tên tệp js với đường dẫn tệp chính xác.

ví dụ: C: \ Users [tên của bạn]> nút d: \ dự án \ js_files \ main.js

nó sẽ làm việc nếu bạn có đường dẫn set = "c: \ file progam \ nodejs \ bin "biến môi trường trước khi làm bất cứ điều gì.