http-server Angular.js 后端node服务首选 轻量级替换 Express 解决方案
文章目录
http-server 是轻量级web服务
你可以轻松使用 http-server 替换 Express
http-server 轻量级到什么地步
无需任何设置
也需不要你引用
轻松把当前所在目录架构成一个web服务
应用场景
angular.js 应用.
因为 angular.js本身作为一个单页面应用,首先需要加载这个单页面.
而这页面,一般是我们静态目录下的 index.hlmt
然后这个静态页面加载了 angular.js 前端框架
这时真正的路由控制已经掌握到了 angular.js 的手里
所以,你不需要像 Express 这样大的包来支持后端web服务
http-server 地址:
https://github.com/indexzero/http-server
http-server 安装
全局安装
npm install http-server -g
http-server 使用
绑定本地 6666 端口
http-server -a 0.0.0.0 -p 6666
这里注意一个细节
如果是 0.0.0.0 ,如果你的机器有公网IP,那么外网可以通过 公网ip:6666 访问你的node 服务
Express 也同样有这样的问题.
如果你本地启动 6666 端口 node 服务,最后通过 nginx 代理转到 本地 80 端口,那么最好绑定 127.0.0.1:6666
就是这样:
http-server -a 127.0.0.1 -p 6666
上面的样子,外网ip:6666 是行不通的,访问不到你的node 服务,必须通过 nginx 方向代理来访问 node 服务.
在package.json 文件中设置好 node 启动入口
"scripts": {
"start": "http-server -a 0.0.0.0 -p 8000",
}
当你的package.json 中设置好 node 启动服务启动入口,方便的是可以直接通过 npm start 来启动服务.
npm start
http-server 参数说明
-p 端口号 (默认 8080)
-a IP 地址 (默认 0.0.0.0)
-d 显示目录列表 (默认 'True')
-i 显示 autoIndex (默认 'True')
-e or --ext 如果没有提供默认的文件扩展名(默认 'html')
-s or --silent 禁止日志信息输出
--cors 启用 CORS via the Access-Control-Allow-Origin header
-o 在开始服务后打开浏览器
-h or --help 打印列表并退出
-c 为 cache-control max-age header 设置Cache time(秒) , e.g. -c10 for 10 seconds (defaults to '3600'). 禁用 caching, 则使用 -c-1.