我如何给我的文件直接访问Hapi (Node.js)服务器
How do I give direct access to my files on Hapi (Node.js) server?
Case:我想在Hapi (Node.js)服务器上为我的网站用户保留*.js文件,这样他们就可以像cdn一样包含它们(即:jQuery, font-awesome)。
问题:在Hapi (Node.js)服务器上这样做的正确方法是什么?
我所尝试的只是将它们连接起来:
<script src="https://mywebsite.com/myscripts/myjsfile.js"></script>
或者声明路由,使用惰性插件基于未来工作室教程和Hapi文档:
server.route({
method: "GET",
path: '/myscripts/{path}',
handler: {
directory: {
path: '/myscripts/',
}
}
}
然后在html脚本标签中链接它们(如上所述)。我得到的是:
{"statusCode":403,"error":"Forbidden"}
我在Heroku上测试了它,我使用的所有插件都是:
- 哈皮神 径>
- 对 惰性
- 车把
- MongoDB 视力
- AuthCookie 贝尔
- Bcrypt
解决方案非常简单:
- 允许跨原产地请求,
- 设置
auth
为false
, - 设置
handler()
的directory()
的listing
为true
路由,允许每个网站访问静态文件www.example.com/myscripts/whatever.js
server.route({
method: "GET",
path: '/myscripts/{path}',
config: {
auth: false,
cors: { origin: ['*'] },
handler: {
directory: {
path: 'myscripts',
listing: true
}
}
}
}
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- 如何使用 node.js 比较两个 json 数组
- Node.js's Buffer.writeFloatBE in Javascript
- node.js:setInterval()正在跳过调用
- 如何处理node.js节点mongodb中的连接和查询队列
- Node.js正在更改应用程序以使用集群模块
- 如何使用Node.js最有效地解析网页
- 在openshift node js应用程序中获取请求
- 正在删除node.js中已验证的网站
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 在索引.html和应用.js [node.js] 之间共享变量
- Node.js中的JavaScript原型对象效率
- 如何在构建node-webkit应用程序后获取外部资源
- node.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- node.js和hapi:同步从数据库中获取数据
- 使用hapi在node.js应用程序上打开shift 503
- 我如何给我的文件直接访问Hapi (Node.js)服务器
- Azure网站用套接字协议启动我的Hapi Node.js网站
- 引用错误:对于hapi/Node.js的请求