node.js+anywhere构建静态文件服务器

node.js安装

  • windows

直接下载exe文件或着.msi安装包。创建D:\nodejs目录,并将node.exe保存在这个目录中。并将”D:\nodejs”加入系统环境变量PATH中,便于在任意位置执行node.exe
node -v查看版本

  • Linux

下载Node.js源代码,解压,进入目录,编译安装,node -v查看版本。

./configure
make
sudo make install

npm安装

npm全名为Node Package Manager,是Node.js 的套件(package)管理工具,安装npm 后,使用npm install module-name指令即可安装新套件。基本命令如下:

npm -v                   #显示版本,检查npm 是否正确安装。
npm install xxx 		 #安装模块
npm install xxx -g 	  #将模块安装到全局环境中
npm uninstall XXX (-g)   #删除指定的模块
npm rm XXX (-g)		  #删除指定的模块
npm cache clean 		 #清理缓存
npm ls 				  #查看安装的模块及依赖
npm ls -g 			   #查看全局安装的模块及依赖
npm list                 #列出已安装模块
npm show XXX        	 #显示模块详情
npm update               #升级所有套件
npm update XXX           #升级指定的模块
  • windows

下载zip文件解压到node.exe所在目录中。运行npm.cmd
npm -v查看版本

  • Linux

下载脚本运行

anywhere安装使用

anywhere随时随地将你的当前目录变成一个静态文件服务器的根目录。

安装npm install anywhere -g,然后进入任意目录在cmd下运行即可把该目录变成静态文件服务器的根目录(比apache简单多了)。例如可以本地编译本博客后进入_site文件夹,运行anywhere就可启动web服务。

anywhere
// or with port
anywhere 8000

node.js编写web服务器

node.js可以用javascript建立简单web服务器,可学习下下面三个博客:
1、Node.js静态文件服务器实战
2、node.js入门—-静态文件服务器
3、学习NodeJS第七天:安装静态的文件服务器

其中我用本博客的_site来测试第二篇的代码时,Url解析有问题,主要是我的博客命名规则是a+b.html包含了特殊字符,当url请求中将+号转义成%2B,但是在本地html文本中没有这个名字,故需要在app.js中添加一句转义。同时以后的.md博客命名还是不要包含转义字符了。
pathname = pathname.replace(/\%2B/g, '+');//用来转义URL中特殊字符+

url特殊字符

URL特殊符号及对应的十六进制值编码:

  1. + 表示空格 %2B
  2. 空格 用+号或者编码 %20
  3. / 分隔目录和子目录 %2F
  4. ? 分隔实际的URL和参数 %3F
  5. % 指定特殊字符 %25
  6. # 表示书签 %23
  7. & URL中指定的参数间的分隔符 %26

References

[1] google

Leequangang /
Published under (CC) BY-NC-SA

Categories :   tech  ·   Tags :   node.js  ·   npm  ·   web  ·  

Hidden Comments »