Làm cách nào để chạy tệp hello.js trong Node.js trên windows?


313

Tôi đang cố gắng chạy một chương trình hello world được viết bằng javascript trong một tệp riêng có tên hello.js

Hiện đang chạy phiên bản windows của node.js.

Mã chạy hoàn hảo trong cửa sổ giao diện điều khiển nhưng làm cách nào để tham chiếu đường dẫn trong môi trường windows .

C:\abc\zyx\hello.js

trong Unix tôi đoán nó đang hiển thị $ node hello.js

Tôi hoàn toàn mới đối với Node.js Hãy sửa lỗi cho tôi nếu tôi làm sai.

Tôi đã thử

> node C:\abc\zyx\hello.js ---- không làm việc

> C:\abc\zyx\hello.js - không hoạt động

CẬP NHẬT1:

Đã thêm node.exe vào thư mục chứa tệp hello.js.
Đã thêm đường dẫn trỏ vào thư mục c: \ abc \ zyx \ và tôi gặp lỗi thông báo

Tham khảoError: xin chào không được xác định

xem nội dung của hello.js

setTimeout(function() {
console.log('World!');
}, 2000);
console.log('Hello');

CẬP NHẬT 2:

Cho đến nay tôi đã thử tất cả các phiên bản này và dường như không có phiên bản nào hoạt động . Có thể tôi đang làm một cái gì đó hoàn toàn sai.

>node hello.js
>$ node hello.js
>node.exe hello.js
>node /hello.js
>node \hello.js
> \node \hello.js
> /node /hello.js
> C:\abc\xyz\node.exe C:\abc\xyz\hello.js
> C:\abc\xyz\node.exe C:/abc/xyz/hello.js
> hello.js
> /hello.js
> \hello.js
>node hello

Tham khảo cấu trúc tập tin của tôi

.
├── hello.js
├── node.exe
└── paths.txt

GIẢI QUYẾT: Thay vì chạy node.exe, hãy thử chạy trong dấu nhắc lệnh với tùy chọn sau và nó đã hoạt động.

c:\>node c:\abc\hello.js
Hello
World! (after 2 secs)

1
Bạn có thể cung cấp thêm một chút thông tin? Theo như tôi biết thì không có nút chính thức nào, như thông báo rằng cổng bắt đầu chỉ được thực hiện vài tuần trước . Bạn có đang sử dụng node.js trong Cygwin không, hoặc có một số cửa sổ nút khác nằm ngoài đó (nếu có, tôi chưa nghe nói về nó). EDIT: Tôi đã không nhận ra rằng đã có bản dựng trước. Lời xin lỗi của tôi.
Doug Stephen


6
Hãy thử node hello.jsthay vì node hello;)
Raynos

1
Tôi không biết c:> là gì nhưng từ dấu nhắc lệnh, như bạn đã nói, "nút c: \ users \ me \ desktop \ helloworld.js" là những gì làm việc cho tôi.
dùng1873073

2
Tôi cũng gặp vấn đề tương tự như bạn, thật buồn cười, vì ngay cả ngày hôm nay 2016, tôi đã tìm thấy hàng tá hướng dẫn cố gắng dạy nodejs nhưng không ai trong số họ dạy từng bước cách chạy lệnh cơ bản bên cạnh '$ node filename.js'. Tôi không thể hiểu làm thế nào mọi người cho rằng chúng ta cần sử dụng thư mục gốc cho việc này. Ai sử dụng đĩa gốc để lưu trữ tệp?
Diego Mendes

Câu trả lời:


364

Dưới đây là các bước chính xác tôi vừa thực hiện để chạy ví dụ "Hello World" được tìm thấy tại http://nodejs.org/ . Đây là một ví dụ nhanh và bẩn. Để cài đặt vĩnh viễn, bạn muốn lưu trữ tệp thực thi ở nơi hợp lý hơn thư mục gốc và cập nhật PATHvị trí của bạn để bao gồm vị trí của nó.

  1. Tải xuống tệp thực thi Windows tại đây: http://nodejs.org/#doad
  2. Sao chép tệp vào C: \
  3. Tạo C: \ hello.js
  4. Dán vào nội dung sau:
    var http = require('http');
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
    }).listen(1337, "127.0.0.1");
    console.log('Server running at http://127.0.0.1:1337/');
  1. Lưu các tập tin
  2. Bắt đầu -> Chạy ... -> cmd
  3. c:
  4. C:> nút hello.js

    Server running at http://127.0.0.1:1337/

Đó là nó. Điều này đã được thực hiện trên Windows XP.


10
Hoạt động như một Bùa mê !!! Cảm ơn rất nhiều. Thủ thuật là mở cmd thay vì dấu nhắc lệnh node.exe.
Mitul

1
@Mitul - Phải, đây là chi tiết bị thiếu trong mô tả của bạn - tức là cách bạn bắt đầu nút - điều đó ngăn người khác giúp bạn. Nút bắt đầu không có đối số đưa bạn vào REPL. Đây là một môi trường để tương tác thực thi javascript. Đây không phải là nơi để khởi động việc thực hiện một tập tin. Xem thêm tại đây: nodejs.org/docs/v0.3.1/api/repl.html
Wayne


9
Điều này thật tồi tệ, KHÔNG sao chép nút thực thi vào thư mục gốc của ổ cứng. Đây là những gì đường dẫn có nghĩa là, xem câu trả lời của @ kcbanner. Ngoài ra, cài đặt Node của Window đi kèm với dấu nhắc lệnh Node.js đã có các đường dẫn được đặt đúng nếu bạn không muốn sửa đổi đường dẫn hệ thống của mình.
joshperry

2
@joshperry - Tôi nghĩ bạn hơi thiếu điểm. Câu hỏi đã được chỉnh sửa rất nhiều từ bản gốc, nhưng vấn đề chính mà OP gặp phải là họ đã cố gắng thực thi một tệp từ REPL. Không có gì về câu trả lời của tôi được dự định là một giải pháp cài đặt dài hạn, thậm chí cũng không ngụ ý. Các hướng dẫn rất đơn giản chính xác để minh họa sự khác biệt giữa thực thi một .jstệp và mở REPL.
Wayne


28

Bạn cần chắc chắn rằng đó nodelà trong của bạn PATH. Để thiết lập đường dẫn của bạn, điều này ra .

Hãy chắc chắn rằng thư mục có node.exetrong của bạn PATH. Sau đó, bạn sẽ có thể chạy node path_to_js_file.js.

Để có một ví dụ "Hello World" tốt, hãy xem: http://howtonode.org/hello-node


Tôi đã thêm node.exe vào thư mục chứa tập tin hello.js. Đồng thời thêm đường dẫn trỏ vào thư mục c: \ abc \ zyx \ và tôi gặp lỗi
Mitul

Lỗi là gì? Thật khó để cung cấp bất kỳ trợ giúp mà không biết lỗi thực sự là gì.
kcbanner

1
Xin lỗi tôi quên đề cập trước đó. Vui lòng tham khảo cập nhật của tôi trong câu hỏi. Cảm ơn đã giúp đỡ.
Mitul

Ồ, tôi hiểu rồi. Trông giống như một vấn đề bên trong tệp hello.js của bạn. Vui lòng gửi nội dung của tập tin đó
kcbanner

1
Tôi đã cập nhật câu trả lời của mình với một ví dụ "Hello World" tốt cho nút.
kcbanner

8

một cách đơn giản khác

  1. tải nodejs về hệ thống của bạn
  2. mở một notepad viết lệnh js "console.log ('Hello World');"
  3. lưu tệp dưới dạng hello.js tốt nhất là cùng vị trí với nodejs
  4. dấu nhắc lệnh mở điều hướng đến vị trí đặt nodejs
    c:\program files\nodejs
  5. và chạy lệnh từ vị trí như c:\program files\nodejs>node hello.js
  6. trong trường hợp tệp js ở vị trí khác cung cấp đường dẫn của tệp c:\program files\nodejs>node path\hello.js

5

Tôi đã cài đặt nút cho windows. Có một dấu nhắc lệnh node.js khi tôi tìm kiếm node.js trong menu bắt đầu của windows 7 Nếu bạn chạy dấu nhắc lệnh đặc biệt này, bạn có thể nút bất cứ thứ gì ở bất kỳ vị trí nào mà không cần thiết lập đường dẫn hoặc sao chép node.exe ở mọi nơi.


3

WinXp: Tôi đã tạo một .battệp

node c:\path\to\file\my_program.js

Điều đó chỉ chạy my_program.battừ Explorer hoặc trong cửa sổ cmd


3

Truy cập cmd và gõ: nút "C: \ Path \ To \ File \ Sample.js"


3

Windows/CMDkhông biết tập tin nút nằm ở đâu. Bạn có thể gõ thủ công:

path=%path%;"c:\Program Files\nodejs"

mỗi lần bạn mở một nhắc nhở cmd.exe mới

HOẶC (trong Windows 10),

  1. nhấp chuột phải vào This PC-> properties.
  2. Bấm vào Advanced system settings-> Environment Variables(dưới cùng bên phải).
  3. Chọn Pathvà nhấp Edit.
  4. Nhấp vào mới và nhập C:\Program Files\nodejs.
  5. Khởi động lại và bạn sẽ có thể chạy nút từ bất kỳ thư mục nào.

1

node jsdấu nhắc lệnh trong màn hình bắt đầu. và sử dụng nó. HOẶC tập hợp PATHnút trong biến môi trường.


0

Đối với tất cả bị mắc kẹt về cách bắt đầu!

https://github.com/sethvincent/javascript

Sao chép ở đây trong trường hợp liên kết chết:

  1. Mở dấu nhắc lệnh node.js
  2. Tạo thư mục được gọi là javascript bằng cách gõ "mkdir javascripting"
  3. Thay đổi thư mục vào thư mục javascript bằng cách gõ "cd javascripting"
  4. Tạo một tệp có tên là giới thiệu.js bằng cách nhập "touch giới thiệu"
  5. Mở tệp và nhập một số javascript, ví dụ: "Console.log ('xin chào');"
  6. Lưu tệp và kiểm tra nó chạy bằng cách gõ "javascripting xác minh giới thiệu.js"

0

Tất cả những gì bạn phải làm là nhấp chuột phải vào tệp .js trên Windows và nhấn "Mở bằng Dấu nhắc Lệnh" HOẶC Mở cmd, sao chép đường dẫn đến thư mục chứa tập lệnh của bạn và chạy lệnh "cd [dán văn bản tại đây]". Sau đó, làm "nút example.js"


0

Vấn đề là bạn đã mở Node.js thay thế trong khi mọi người tự động cho rằng bạn đang ở trong dấu nhắc lệnh. Để biết giá trị của nó, bạn có thể chạy tệp javascript từ .loadlệnh thay thế bằng lệnh. Ví dụ:

.load c:/users/username/documents/script.js

Lệnh tương tự cũng có thể được sử dụng trong dấu nhắc lệnh nếu trước tiên bạn khởi động nút bên trong dấu nhắc lệnh bằng cách nhập nodekhông có đối số (giả sử nút nằm trong PATH).

Tôi thấy thật thú vị khi 1) mọi người cho rằng bạn đang ở trong dấu nhắc lệnh thay vì thay thế, 2) dường như không ai biết về .loadđiều này và 3) điều này có tới 273 lượt upvote, chứng tỏ rằng rất nhiều người mới bắt đầu node.js cũng bị nhầm lẫn tương tự.


0

Tôi đã có vấn đề như vậy cho các cửa sổ. Và tôi đã quyết định như vậy: startApp.cmd:

@set JAVA_HOME=C:\jdk160_24
@set PATH=%JAVA_HOME%/bin;%PATH%
@cd /D C:\app\

@start /b C:\WINDOWS\system32\cscript.exe 
C:\app\start.js

và lưu tệp cmd trong thư mục C: \ scripts tệp tiếp theo là runApp.bat:

C:\scripts\startApp.cmd

0

Chỉ cần thay đổi liên kết tệp của .jstệp thành node.exevà bạn có thể chạy trực tiếp từ explorer.

1) Right click on the file -> Select "Open with" -> Select "Choose another program"
2) Check box "Always use this app to open .js file"
3) Click "More apps" -> "Look for another app in PC"
4) Navigate to node.js installation directory.(Default C:\Program Files\nodejs\node.exe"
5) Click "Open" and you can just see cmd flashing

Lưu ý: Thêm mã bên dưới vào cuối tệp js sẽ hữu ích vì nó sẽ giữ cho bàn điều khiển mở cho một lần nhấn phím.

console.log('Press any key to exit');

process.stdin.setRawMode(true);
process.stdin.resume();
process.stdin.on('data', process.exit.bind(process, 0));

0

Bước cho Windows

  1. nhấn ctrl + r.then gõ cmd và nhấn enter.
  2. Bây giờ dấu nhắc lệnh sẽ được mở.

  3. sau loại cd filepath của tập tin. ex (cd C: \ Users \ user \ Desktop \) sau đó nhấn enter.

  4. vui lòng kiểm tra xem npm đã cài đặt hay chưa sử dụng nút lệnh -v này. sau đó nếu bạn cài đặt sẽ nhận được phiên bản nút.
  5. gõ lệnh trên dấu nhắc lệnh như nút filename.js này. ví dụ (nút app.js)

C:\Users\user\Desktop>node app.js

-1
c:\> node.exe %CD%\hello.js

% CD% chụp thư mục hiện tại trong DOS


nếu bạn muốn sử dụng thư mục hiện tại, không cần phải đưa ra đường dẫn tuyệt đối. c:\> node.exe hello.jscũng sẽ làm việc
Ankit Balyan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.