[渣技术]构建U盘版的Nodejs全开发运行环境
发布于 12 年前 作者 a272121742 8681 次浏览 最后一次编辑是 8 年前

之前有人问我如何配置U盘版的Nodejs,其实这并不是什么难事,会写几个命令行就OK了。举2个简单的例子:

  1. 配置nodejs到U盘

我是先将U盘都清空,新建node文件夹,里面放入官网下载的node.exe二进制编译文件。

然后在U盘根目录新建node.bat文件,里面输入

set BASE_PATH = %~dp0
::请输入运行的应用
set APP_PATH = 
::正在解析
%BASE_PATH%\node\node.exe %NODE_PATH%\%APP_PATH %
  1. 配置Mongoose

U盘根目录新建mongo文件夹,里面放入mongodb的bin文件夹等文件。

然后在U盘根目录新建mongo.bat文件,里面输入

set BASE_PATH = %~dp0
::请输入运行的数据库文件夹
set DB_PATH = 
::正在连接
%BASE_PATH%\mong\bin\mongod.exe --dbpath %DB_PATH%

当然,根据你的喜好自由配置,我的项目里不是这么简单的配置的,如图 enter image description here

  • chrome是我安装在U盘里面的U盘浏览器
  • docs是我开发或者一些常用的文档集
  • mongo是mongo数据库,里面有个db文件夹专门存储数据库
  • node是nodejs开发环境,里面有个project存储项目,node_modules存储需要模块
  • rock是mongodb的可视化工具
  • all_clean.bat是清除所有进程的命令行,如果不清除所有进程,U盘是无法安全拔出的。db_server_clean.bat、node_server_clean也是用来清除进程的。
  • node_debug_run.bat是用来运行node的调试工具的 run.bat是用来一次性开启所有的,下面来看看run.bat和node_debug_run.bat的代码吧
  1. run.bat
[@echo](/user/echo) off

rem --------全局设置--------
::设置当前批处理运行的根目录
set BASE_PATH=%~dp0

rem --------项目设置--------
::设置项目名
set /p PROJECT_NAME=请输入你要运行的项目名

::设置启动模式,如果什么都不输入则启动普通模式,否则进入开发模式
::开发模式下的调试页面需要手工打开
set /p DEBUG_MODE=回车直接启动程序,输入任意字符就进入调试模式
if not "%DEBUG_MODE%" EQU "" (
	set DEBUG_MODE="--debug" 
	echo 进入调试开发模式...
)else (
	set DEBUG_MODE=
	echo 进入普通开发模式...
)

rem --------批处理内容--------
::启用hstart,以隐藏模式启动数据库命令
hstart /NOCONSOLE "%BASE_PATH%\mongo\bin\mongod.exe --dbpath %BASE_PATH%\mongo\db"
::休眠2秒,以防止数据库未打开时后面的服务就启动
ping 127.0.0.1 -n 2 >nul
echo 数据库开启成功

::启用hstart,以普通模式启动服务器命令
hstart "%BASE_PATH%\node\node.exe %DEBUG_MODE% %BASE_PATH%\node\projects\%PROJECT_NAME%\app.js"
::休眠2秒,以防止服务没有启动时浏览器就打开了
ping 127.0.0.1 -n 1 >nul
echo 服务器已启动

echo 正在打开网页,请稍后(开启后浏览器自动打开并退出此窗口)...
ping 127.0.0.1 -n 1 >nul
::设置浏览器地址,采用U盘中内置的浏览器
set BROWSER=%BASE_PATH%\chrome\GoogleChromePortable.exe
::设置浏览地址,该地址的地址和端口号需要根据项目的配置进行修改
set URL=http://127.0.0.1:8881/chacex/Test!index.html#home
::用指定浏览器打开指定URL
::start "" %BROWSER% %URL%
start %URL%

exit
  1. node_debug_run.bat
[@echo](/user/echo) off

rem ---------服务器调试启动项--------

rem --------参数配置--------
::设置根目录
set BASE_PATH=%~dp0

::设置调试工具的端口号
set /p PORT=如果要修改端口号(默认8585),请输入端口,否则
if "%PORT%" EQU "" (
	set PORT=8585
)

::设置浏览器地址,采用U盘中内置的浏览器
set BROWSER=%BASE_PATH%\chrome\GoogleChromePortable.exe
::设置浏览地址,端口号由上配置
set URL=http://127.0.0.1:%PORT%/debug?port=5858

::用指定浏览器打开网页
::start "" %BROWSER% %URL%
start %URL%
::同时开启调试工具启动项
%BASE_PATH%\node\node.exe %BASE_PATH%\node\node_modules\node-inspector\bin\inspector.js --web-port=%PORT%

exit

其实就一点点命令行知识,相信大家都会写的,通过这种方式就能将一些node项目开发的相关服务、组件、模块、工具都配置进去了。另外补充点,我这里隐藏了hstart.exe工具和framedyn.dll文件,hstart.exe是个很有用的工具,大家可以去查查怎么使用的。总之,献丑了,就是已经有的东西乱七八糟的再拼一下,随身携带的U盘版nodejs开发运行环境就构成了。 ps:我之前还在U盘里植入了ChromeOS,这样连系统都可以带着走拉,哈哈

10 回复

十分感谢你花时间作这篇教程,对于我这个初学者,也许从中学到一些管理项目的东东。命令行一点也不优雅,从中学了自称“更优雅”的coffeescript后。NODEJS和其它对于我都是新颖的玩意,正从nodejs入门开始。。。

不错啊,确实方便了

@snoopy 见笑了 ^_^

这个不错,我也打算做个这样的,不过是linux版的。 打算搞个 Nodejs SDK, 把常用的module和mongodb等放进去。

另外整合cloudfoundry的命令,方便搭建

人类已经无法阻止cnodejs被XSS了!

人类已经无法阻止cnodejs被XSS了!

@sumory 这也被黑了吗?谁这么无聊啊。。。

人类已经无法阻止cnodejs被XSS了!

哦靠,不是吧,这个漏洞也太大了吧,压根不是我发的信息标识的是我的名字和头像!!!!

很不错的一篇文章,顶一个.

回到顶部