# 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 做静态文件服务器的更多相关文章

  1. Node.js静态文件服务器实战[转]

    p.s. 在下面这篇文章的指导下,做了一个静态文件服务器,见:https://github.com/walkerwzy/node_static_server ==== 这是一篇阐述得比较详细的文章,从 ...

  2. 用node搭建静态文件服务器

    占个坑,写个node静态文件服务器

  3. Node.js静态文件服务器

    首先还是先感谢github,感谢github上提供此段源码的作者.跟昨晚看的静态文件服务器来比今天的静态文件服务器稍微复杂些,可以学到很多新的东西.仔细会发现这次的代码多了一个fs.stat函数和Re ...

  4. [Nodejs] node实现静态文件服务器

    node 静态文件处理 一般后端进行静态文件处理都是使用 Apache nginx 等静态 web 服务器,但是既然使用 node 了,就用 node 实现以下静态服务器吧. 之前弄了不少充满艺术的数 ...

  5. 使用Node.js快速搭建简单的静态文件服务器

    做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...

  6. Node.js Web 开发框架大全《静态文件服务器篇》

    这篇文章与大家分享优秀的 Node.js 静态服务器模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能 ...

  7. [转载]用NodeJS打造你的静态文件服务器

    http://www.open-open.com/bbs/view/1321344823593 本文是我对V5Node项目的总结,该项目的特性包括: 项目大多数的文件都是属于静态文件,只有数据部分存在 ...

  8. 从零开始,在windows上用nodejs搭建一个静态文件服务器

    从零开始,在windows上用nodejs搭建一个静态文件服务器 首先安装nodejs: 新建一个node文件夹 下载node.exe到该文件夹 下载npm然后解压到该文件夹 现在node文件夹是这样 ...

  9. 用http-server 创建node.js 静态服务器

    今天做一本书上的例子,结果代码不能正常运行,查询了一下,是语法过时了,书其实是新买的,出版不久. 过时代码如下 var connect=require('connect'); connect.crea ...

随机推荐

  1. BZOJ:2186: [Sdoi2008]沙拉公主的困惑

    问题:可能逆元不存在吗? 题解: Gcd(a,b)==Gcd(b,a-b); 从数据范围可以看出应该求M!的欧拉函数: 然后通过Gcd转化过去 一开始没想到 #include<iostream& ...

  2. java课程之团队开发冲刺阶段2.9

    总结昨天进度: 已经完成查询课程信息任务 遇到的困难: 已经全部解决 今天的任务: 修改APP图标 当日总结: manifest中管理着APP的基本信息资料,所以是在manifest文件中修改APP的 ...

  3. JVM探秘:MAT分析内存溢出

    本系列笔记主要基于<深入理解Java虚拟机:JVM高级特性与最佳实践 第2版>,是这本书的读书笔记. MAT是分析Java堆内存的一个工具,全称是 The Eclipse Memory A ...

  4. cnblogs今天挂了

    刚打算搬进来常驻cnblogs,好死不死,它今天11点40分左右挂了.真是不让人省心: 今天把这后面这几个月的随笔放过来,希望能不会被清掉:

  5. Standard Aras Dialogs

    In a another blog post, we covered how to open dialogs within Aras Innovator using custom forms and ...

  6. C#应用程序结构

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  7. 【Java】Java计时器(秒表)

    https://blog.csdn.net/c_jian/article/details/50506759 应用名称:Java计时器 用到的知识:Java GUI编程 开发环境:win8+eclips ...

  8. 实验吧web-难-认真一点!(布尔盲注,py脚本)

    也可用bp进行爆破,这里用py脚本. 打看网页输入1,显示You are in,输入2,显示You are not in,是个布尔注入. 然后看看过滤了什么. sql注入没有过滤:--+.or sql ...

  9. day23(023-递归练习)

    23.01_File类递归练习(统计该文件夹大小) * 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小(字节?) * * 从键盘接收一个文件夹路径 * 1,创建键盘录入对象 * 2,定义一个无限 ...

  10. Nginx系列p2:重载,热部署,日志分割

    今天我们来学习 nginx 的 重载.热部署.日志分割功能 重载:当我们需要修改配置文件中的一些值,我们可以直接修改该配置文件,然后重新启动 nginx 服务,就可以实现在 nginx 不停止服务的情 ...