• 使用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: * Disallow: /')

    -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.效果

     如果是文件夹可以点进去,如果是文件则直接打开,非常方便

  • 相关阅读:
    skill:极角排序
    skill:树的重心
    [CF1091F](New Year and the Mallard Expedition)
    2018九省联考(SHOI2018)
    陷入僵局?
    2333
    雨后天晴
    听说我首次抢到食堂最早的馄饨
    难题做不动
    成绩出来了?
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11196866.html
Copyright © 2020-2023  润新知