在没有网络环境下怎么安装nodejs服务器anywhere?
可以的,先在联网的机器上用npm install anywhere安装,然后到C盘当前用户的appdata下找Roaming/npm目录,你就能看到anywhere相关的几个包了,把它拷贝到内网相同的目录下,anywhere就能运行了
1安装NodeJS
1编译环境
源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。
Debian/Ubuntu下的工具是apt-get
RedHat/centOS下通过yum命令
Mac OS X下你可能需要安装xcode来获得编译器
2网络加密
其次,如果你计划在Nodejs中启用网络加密,OpenSSL的加密库也是必须的。该加密库是libssl-dev,可以通过apt-get install libssl-dev等命令安装。
3手动编译
wget http://nodejsorg/dist/v01026/node-v01026targz
tar zxvf node-v061targz
cd node-v01026
/configure
上面几行命令是通过wget命令下载最新版本的代码,并解压之。/configure命令将会检查环境是否符合Nodejs的编译需要。
make
make install
2安装NPM
1NPM的全称是Node Package Manager, 是NodeJs的第三方安装库。
curl http://npmjsorg/installsh | sh
curl http://npmjsorg/installsh是通过curl命令获取这个安装shell脚本,按后通过管道符| 将获取的脚本交由sh命令来执行。
2更改第三方库
npm install underscore
underscore@122 /node_modules/underscore
由于一些特殊的网络环境,直接通过npm install命令安装第三方库的时候,经常会出现卡死的状态。幸运的是国内CNode社区的@fire9 同学利用空余时间搭建了一个镜像的NPM资源库,服务器架设在日本,可以绕过某些不必要的网络问题。你可以通过以下这条命令来安装第三方库:
npm --registry "http://npmhacknodejscom/
如果你想将它设为默认的资源库,运行下面这条命令即可:
npm config set registry "http://npmhacknodejscom/ "
通过npm安装包。安装好之後会自动被安装到 /usr/local/bin 目录下,而相依的函式库也会自动安装到 /usr/local/lib/node 目录下,实在是非常方便。
3安装NodeJS调试环境
1用npm命令安装全局模式的 node-inspector组件
sudo npm install -g node-inspector
2更改端口
修改 node-inspector/lib/configjs的端口
’web-port’: {
desc: ‘Port to host the inspector’,
convert: conversionsstringToInt,
defaultValue: 6868
},
3使用
node-inspector启动一个调试工具
在chrome浏览器中输入http://127001:6868/debugport=5858打开chrome的调试模式
使用node debug调试nodeJS项目
node --debug-brk=5858 readjs
可以在chrome中查看到调试信息
4使用Sublime构建NodeJS
设置Sublime的Builder->>
Tools ->> Build System ->> New Build System
将如下代码写入
{
“cmd”: ["/usr/local/bin/node", “$file”],
“file_regex”: “^[ ]File "(…)”, line ([0-9])",
“selector”: “sourcejavascript”
}
保存为NodeJssublime-build文件
如此可以直接使用Com+B来使用nodejs运行程序
您好 很高兴为您解答:
这个web服务器包括三块,appjs是程序入口,负责响应url请求;routejs是路由,用来分发处理复杂的业务逻辑;systemjs是配置文件,用来配置服务器参数,如host、port等
首先来看appjs,引用模块,http处理url请求,url用来解析请求参数和路径,path只是用来匹配路径的扩展名o(╯□╰)o,fs用来读取本地静态文件,剩下两个模块后面详解。
接下来正式创建服务器处理请求,请求大致分两类,一类是静态文件,如xxxhtml、xxxjs等等,另一类是进行业务处理,如常见的增删查改操作,这一部分操作交给路由处理,这里用了一个简单的判断逻辑:通过后缀名,后缀名在systemjs中配置。
读取本地文件的时候要注意一点,那就是缓存。如果客户端发出重复请求,服务器需要判断文件自上次请求后是否发生了修改,如果未修改返回304,这样可以加快浏览器端的响应速度。这里的判断方式是通过判断请求的header的if-modified-since时间和本地文件修改时间是否一致,如果一致则返回304,否则重置该时间,第一张图是代码,第二张图是通过chrome调试工具看到的请求头部时间。
如果需要进行业务处理,则交给路由处理了。首先路由引入具体的业务逻辑模块,然后通过解析具体的路径名来执行具体的业务逻辑,这里注意的是:由于nodejs的并发特性,记得传入回调函数来获得相应的处理结果。
望采纳 谢谢
0条评论