如何在Hapi(Node.js)服务器上直接访问我的文件?

时间:2016-10-26 19:11:02

标签: javascript node.js hapijs

案例:我想在Hapi(Node.js)服务器上为我的网站用户保留* .js文件,因此他们可以包含类似CDN的文件(即:jQuery,font-真棒)。
问题:在Hapi(Node.js)服务器上执行此操作的正确方法是什么?

我已经尝试过的只是链接它们:

<script src="https://mywebsite.com/myscripts/myjsfile.js"></script>

或根据Inert pluginFuture Studio Tutorial使用Hapi Documentation声明路线:

server.route({
  method: "GET",
  path: '/myscripts/{path}',
  handler: {
    directory: {
      path: '/myscripts/',
    }
  }
}

然后在html脚本标签中链接它们(如上所述)。我得到的是:

{"statusCode":403,"error":"Forbidden"}

我在Heroku上测试它,我使用的所有插件都是:

  • 哈皮
  • 路径
  • 淳佳
  • 惰性
  • 车把
  • MongoDB的
  • 视力
  • AuthCookie
  • 贝尔
  • Bcrypt

1 个答案:

答案 0 :(得分:1)

解决方案非常简单:

  1. 允许跨源请求,
  2. auth设为false
  3. handler()&#39; directory() listing设为true
  4. 路由,允许每个网站访问静态文件 www.example.com/myscripts/whatever.js

    server.route({
      method: "GET",
      path: '/myscripts/{path}',
      config: {
        auth: false,
        cors: { origin: ['*'] },
        handler: {
          directory: {
            path: 'myscripts',
            listing: true
          }
        }
      }
    }