使用node 做静态文件服务器
# 1. 使用server-static 包
使用node可以非常快速的方法把指定目录共享出去
前提条件:安装了node,附带有npm
要托管的文件目录为 /root/www
# 先创建一个目录用来存放脚本和依赖包
$mkdir nodeser && cd nodeser
# 初始化项目,一路按enter使用默认值
$npm init
# 安装connect 包和 serve-static 包
$npm install connect --save
$npm install serve-static --save
然后编辑服务脚本ser.js
var connect = require("connect");
var serveStatic = require("serve-static"); var app = connect();
app.use(serveStatic("/root/www")); app.listen(5000);
在当前目录执行 node ser.js
然后可以在浏览器上访问5000 来请求静态资源
# 2. 使用http-server 0配置实现一个 ftp server
1. mkdir ftpdir && cd ftpdir 创建项目目录
2. 先执行npm init 初始化一个项目,会生成 package.json
```
npm init
```
3. 安装http-server 包
```
npm install http-server
npm WARN prefer global http-server@0.11.1 should be installed with -g
nodeser@1.0.0 /home/builder/nodeser
└─┬ http-server@0.11.1
├── colors@1.0.3
├── corser@2.0.1
├─┬ ecstatic@3.3.2
│ ├── he@1.2.0
│ └── url-join@2.0.5
├── opener@1.4.3
├─┬ optimist@0.6.1
│ ├── minimist@0.0.10
│ └── wordwrap@0.0.3
├─┬ portfinder@1.0.24
│ └── async@1.5.2
└─┬ union@0.4.6
└── qs@2.3.3
```
4. 编辑package.json ,修改启动方式
```
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "http-server -p 5000"
},
```
这里的 script 其实是提供给 npm 调用的,例如 当执行npm start 的时候就会调用 start 里的内容
所以也是可以直接执行 `http-server -p 5000` 启动,另外还有一些参数可以参考
```
Available Options:
-p
Port to use (defaults to 8080)
-a
Address to use (defaults to 0.0.0.0)
-d
Show directory listings (defaults to 'True')
-i
Display autoIndex (defaults to 'True')
-g
or --gzip
When enabled (defaults to 'False') it will serve ./public/some-file.js.gz
in place of ./public/some-file.js
when a gzipped version of the file exists and the request accepts gzip encoding.
-e
or --ext
Default file extension if none supplied (defaults to 'html')
-s
or --silent
Suppress log messages from output
--cors
Enable CORS via the Access-Control-Allow-Origin
header
-o
Open browser window after starting the server
-c
Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1.
-U
or --utc
Use UTC time format in log messages.
-P
or --proxy
Proxies all requests which can't be resolved locally to the given url. e.g.: -P http://someurl.com
-S
or --ssl
Enable https.
-C
or --cert
Path to ssl cert file (default: cert.pem).
-K
or --key
Path to ssl key file (default: key.pem).
-r
or --robots
Provide a /robots.txt (whose content defaults to 'User-agent: *\nDisallow: /')
-h
or --help
Print this list and exit.
```
5. 启动
```
npm start
> nodeser@1.0.0 start
> http-server -p 5000
Starting up http-server, serving ./
Available on:
http://127.0.0.1:5000
http://192.168.4.5:5000
http://192.168.4.41:5000
```
当然还可以使用 `http-server -p 5000` 直接启动
6.效果
如果是文件夹可以点进去,如果是文件则直接打开,非常方便
使用node 做静态文件服务器的更多相关文章
- Node.js静态文件服务器实战[转]
p.s. 在下面这篇文章的指导下,做了一个静态文件服务器,见:https://github.com/walkerwzy/node_static_server ==== 这是一篇阐述得比较详细的文章,从 ...
- 用node搭建静态文件服务器
占个坑,写个node静态文件服务器
- Node.js静态文件服务器
首先还是先感谢github,感谢github上提供此段源码的作者.跟昨晚看的静态文件服务器来比今天的静态文件服务器稍微复杂些,可以学到很多新的东西.仔细会发现这次的代码多了一个fs.stat函数和Re ...
- [Nodejs] node实现静态文件服务器
node 静态文件处理 一般后端进行静态文件处理都是使用 Apache nginx 等静态 web 服务器,但是既然使用 node 了,就用 node 实现以下静态服务器吧. 之前弄了不少充满艺术的数 ...
- 使用Node.js快速搭建简单的静态文件服务器
做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...
- Node.js Web 开发框架大全《静态文件服务器篇》
这篇文章与大家分享优秀的 Node.js 静态服务器模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能 ...
- [转载]用NodeJS打造你的静态文件服务器
http://www.open-open.com/bbs/view/1321344823593 本文是我对V5Node项目的总结,该项目的特性包括: 项目大多数的文件都是属于静态文件,只有数据部分存在 ...
- 从零开始,在windows上用nodejs搭建一个静态文件服务器
从零开始,在windows上用nodejs搭建一个静态文件服务器 首先安装nodejs: 新建一个node文件夹 下载node.exe到该文件夹 下载npm然后解压到该文件夹 现在node文件夹是这样 ...
- 用http-server 创建node.js 静态服务器
今天做一本书上的例子,结果代码不能正常运行,查询了一下,是语法过时了,书其实是新买的,出版不久. 过时代码如下 var connect=require('connect'); connect.crea ...
随机推荐
- 菜鸟理解Lamdba表达式
简单的说就是Java 1.8后给出个简化代码的方式, Java面向对象过分强调必须通过对象的形式来完成任务,而函数思想则尽量忽略面向对象的复杂语法,强调做什么,而不是以什么形式做. 举个栗子! 首先创 ...
- poj_2406 KMP寻找重复子串问题
B - Power Strings Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u S ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:条件语句
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 使用H5搭建webapp主页面
使用H5搭建webapp主页面 前言: 在一个h5和微信小程序火热的时代,作为安卓程序员也得涉略一下h5了,不然就要落后了,据说在简历上可以加分哦,如果没有html和css和js基础的朋友,可以自行先 ...
- 《Thinking in Java》中讲到了final,发现自己有部分地方迷糊
1.1当给全局的静态字段加上final时,系统是不会给其赋默认值的,若不手动初始化,会编译时错误——Variable 'xxx' might not have been initialized. 1. ...
- id就是方法名,如何调用;批量input怎么获取他们的key值作为参数
1.很多Dom的时候,一个个写会比较麻烦,我用ID记载他的方法名: 2.很多input,在数据交互的时候一个个获取会比较繁琐,给一个方法,批量获取. <div id="searchSt ...
- rabbitmq安装及简单demo练习
参考:https://my.oschina.net/loveorange/blog/3026473 安装参考链接: 1. 下载自己需要的rabbitmq_server(http://www.rabbi ...
- 腾讯大佬告诉你,写Python到底用什么IDE合适
不管你是 Python 新手还是老鸟,肯定纠结过一个问题: 到底用什么编辑器写 Python 代码好? 为此,我们调查了数十位鹅厂程序猿们爱用的 Python IDE,从他们对每款编辑器的看法中,也许 ...
- VUE,index key v-for
列表渲染语法 v-forv-for 循环对象 <article v-for="(item, key, index) of info">{{item}} {{key}} ...
- JAVA 算法练习(二)
和上次一样,虽说用 java 语言,但有 c 的基础一样可以看懂哦. 机器人走方格问题Ⅰ 题目概述 有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角.请设计一个算法,计 ...