美文网首页
使用nodejs搭建静态服务器并提供反向代理

使用nodejs搭建静态服务器并提供反向代理

作者: wukunpeng | 来源:发表于2017-04-28 11:05 被阅读229次

    在前端开发过程中,难免有需要静态服务器的时候;有时,为了解决跨域问题,还希望服务器能提供反向代理的功能。
    基于上述需求,我整合了一个带有反向代理功能的静态服务器。主要使用

    项目链接(求star) : static-server

    使用方式

    代码就不贴了,可以直接去看项目
    假设文件夹webapp的内容需要静态服务器,则

    # 进入到需要提供静态服务的文件夹
    git clone https://github.com/kunzhijia/static-server.git
    cd static-server
    npm install
    npm start //服务器器支持热加载,修改app.js 不需要重启服务器
    open http://localhost:3000
    

    效果图:

    no_index.png

    如果文件夹内有index.html,则会自动打开index.html

    配置

    这里的配置涉及:

    • 静态文件夹路径配置
    • 反向代理配置

    静态文件夹路径配置

    代理的配置在 app.js 文件

    //将路径设置为静态文件的路径
    const basePath = path.resolve('..')
    

    反向代理配置

    代理的配置在 app.js 文件

    简单配置

    // http://localhost:3000/infinitus-moa-store/store/getStoreImproveList.action -> http://192.168.14.168:8080/infinitus-moa-store/store/getStoreImproveList.action
    app.use('/infinitus-moa-store', proxy({target: 'http://192.168.14.168:8080', changeOrigin: true}));
    
    //支持配置多个
    app.use('/api1', proxy({target: 'http://www.example.org', changeOrigin: true}));
    app.use('/api2', proxy({target: 'http://www.example.org2', changeOrigin: true}));
    

    代理使用的http-proxy-middleware,更复杂的需求可以查看其文档。

    相关文章

      网友评论

          本文标题:使用nodejs搭建静态服务器并提供反向代理

          本文链接:https://www.haomeiwen.com/subject/rpjozttx.html