使用批处理文件运行Node服务器

19

我需要创建一个批处理文件来启动Node服务器,因为有些人需要额外的帮助。让我解释一下这个过程:

  1. 打开CMD
  2. 进入路径:cd C://user/folder/server/
  3. 运行服务器:npm start

这很简单,但我真的很想自动化这个过程,以使它更快。


4
你已经有了批处理文件。只需添加这些行并将其保存为npmstart.bat或类似的名称即可。 - Matt Williamson
只是提供一些信息,我希望有像WAMP一样的东西,用于Node.js,就像PHP一样,但是Node.js的工作方式不像PHP。因此,它包括了自己的服务器,所以最好的方法是使用.bat文件。 - mercury
10个回答

13

是不是只有我觉得答案已经摆在明处了呢?下面的方法完美地解决了我的问题(使用了原帖作者提供的路径):


cd "C:/user/folder/server"
node index.js

这确实是最简单的答案。 - Premier Bromanov
只是确认一下:至少对于我的情况来说,那就是正确的答案。在尝试了很多cmd、start和其他命令之后,诀窍就是简单的:cd "c:\program files\nodejs\node_modules\parsoid" node bin\server.js - Daniel Lemes
有没有办法在bat文件中使用nodemon运行node服务器? - Gopi P

11

我知道这篇帖子已经很旧了,但是还是想说一下: 我刚刚制作了一个超级简单的.bat文件来启动它:

cd C:\nodejs

"C:\MongoDB\bin\mongod.exe" --dbpath C:\MongoDB\bin\data\db

node server.js

7
您可以通过点击以下的 .bat 脚本文件来启动 node.js 服务器:
@echo off
echo.

set NodePackagesPath=E:\Projects\OpenShift\Materials\Node.jsPackageManager // This is my path, you can edit them

set Path=%NodePackagesPath%\node_modules\.bin;%PATH%
set Path=%NodePackagesPath%;%PATH%

set NODE_PATH=%NodePackagesPath%\node_modules;%NODE_PATH%
set NODE_ENV=production

echo Environment variables are successfully added.
echo. 
echo. 
echo. 

node server.js

如果没有安装Node.js,你能否运行它?如果不能,怎么办?还有,如何在里面添加Node.js? - Muhammad Umer
不可以,你必须拥有Node可执行文件,下载并将其路径添加到环境变量中,然后你就可以通过名称“node”在任何地方使用它。如果你只是将上面的脚本路径更改为你自己的路径,它就可以为你工作了。 - Reza Ebrahimi
能否将批处理文件和Node.js文件拼接成一个可执行文件? - Muhammad Umer
@MuhammadUmer 我知道这已经很老了,但是我会分享给任何人阅读。在 http://www.f2ko.de/en/cmd.php 页面的底部,倒数第二个压缩文件是 webserver.exe,你只需运行 webserver.exe folder_path_to_web_files port_number,所以你可以运行 webserver.exe web_files 8080,它将使本地主机加载 web_files 文件夹。它只提供像 html、css、js、图像等静态文件,而不是 PHP。此外,端口号可以是您选择的任何可用端口。 - JasonDavis
@MuhammadUmer,我之前分享的那个网站除了提供Web服务器外,还有一个将.bat文件转换为.exe程序的工具,这在某些情况下非常方便。 - JasonDavis
显示剩余4条评论

6

首先,您需要将node.js安装文件夹添加到路径中。
接下来创建一个名为start.bat的批处理文件。
然后,在文件中写入

C:/user/folder/server/
npm start

最后点击start.bat


1
不要将批处理文件命名为“start.bat”,因为已经有一个名为“start”的命令了。尝试其他名称,例如“mystart.bat”或“go.bat”。 - joedotnot

4

在程序所在的文件夹中创建一个批处理文件。然后在批处理文件中键入以下内容:

node (你的程序)

例如:node server.js

保存批处理文件并运行它。它对我有效。


2
如果您正在尝试启动某种discord机器人,请尝试以下操作:
// this is my path so if your is different change it and this needs to stay open for the bot to run
cd C:\salmon\salmon
node bot.js

0

我有两个代码需要从一个批处理文件中执行。

  1. frontend文件夹运行npm start
  2. backend文件夹运行node index.js

这是我如何做到的:

  1. 我在根目录下创建了一个名为start.bat的文件。
  2. 现在根目录中有frontend文件夹、backend文件夹和start.bat文件。
  3. 我使用的批处理代码如下:
@echo

start cmd.exe /k "node backend/index.js"

start cmd.exe /k "cd frontend && npm start"

它将打开两个不同的命令提示符窗口并执行node index.js代码和npm start。希望能对某些人有所帮助。


0

这个并不真正起作用:

"START /WAIT bitsadmin.exe /transfer "Downloading" http://nodejs.org/dist/v0.8.11/%NODE_EXEC% C:\node-v0.8.11-x86.msi"

我不知道为什么,但其余部分应该可以工作:

@echo off

NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
    echo This setup needs admin permissions. Please run this file as admin.
    pause
    exit
)

set NODE_VER=null
set NODE_EXEC=node-v0.8.11-x86.msi
set SETUP_DIR=%CD%
node -v >tmp.txt
set /p NODE_VER=<tmp.txt
del tmp.txt
IF %NODE_VER% NEQ null (
    echo INSTALLING node ...
    mkdir tmp
    IF NOT EXIST tmp/%NODE_EXEC% (
        echo Node setup file does not exist. Downloading ...
        cd ../bin
        START /WAIT bitsadmin.exe /transfer "Downloading" http://nodejs.org/dist/v0.8.11/%NODE_EXEC% C:\node-v0.8.11-x86.msi
        rem START /WAIT wget http://nodejs.org/dist/v0.8.11/%NODE_EXEC%
        move %NODE_EXEC% %SETUP_DIR%/tmp
    )
    cd %SETUP_DIR%/tmp
    START /WAIT %NODE_EXEC%
    cd %SETUP_DIR%
) ELSE (
    echo Node is already installed. Proceeding ...
)

0
我使用另一种方法: 将全局批处理脚本文件夹添加到Windows环境变量文件夹中(例如C:/ my_commands) 接下来在此文件夹中创建一个.bat文件,命名为一个命令(例如start_server.bat) 在脚本内部编写以下内容:
@echo off
start /B /WAIT /D C:\exemple\url\to\node\app\folder node index.js

现在,您可以从任何地方的 start_server 命令提示符中调用您的服务器启动。如果您需要参数,请使用以下命令:

start /B /WAIT /D C:\exemple\url\to\node\app\folder node index.js *%

如果您需要在脚本中获取当前(调用)位置,请使用以下代码:

start /B /WAIT /D C:\exemple\url\to\node\app\folder node index.js %cd%

这样你就可以从Windows资源管理器启动控制台节点应用程序 :D

我知道这是旧帖子,但人们一直在寻找这个。


0

另一种方法是在Windows上安装Bash环境,并创建名为start.sh的文件。

#!/usr/bin/env bash

npm start

或者

#!/usr/bin/env bash

node <yourfilename>.js

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接