node.js为网页提供访问node.js服务器上资源的权限
node.js to serve web page with access to resources on node.js server
我有一个html页面,它引用了许多本地脚本文件,而这些脚本文件又引用了其他本地资源。我所说的local是指html文件的local。
有可能使用node.js服务器的方法来提供这样的网页吗?到目前为止,据我所知,node.js服务器可以返回html内容,但当它显示在用户的浏览器中时,我不容易看到它如何引用各种脚本,因为html不是从服务器上的普通文件夹提供的,它可以相对访问其周围的文件夹和资源。
有没有办法做到这一点,或者考虑这样的方法是疯狂的?将html和相关资源粘贴在标准服务器上并完成它更好吗?
EDIT:我应该解释一下,从node.js提供html的动机是,我已经从node.jss服务器提供了图像,这些图像是使用html将使用的相同脚本生成的。因此,用户有两种方法可以获得相同的内容:作为png文件或网页,在这两种方法中,工作都是由相同的核心脚本完成的。。。一个是html前端,另一个是node.js前端。因此,能够将所有代码保存在一个位置会很好,而不必重复并将其保存在两个位置,并且当我在主位置更新代码时,必须记住在辅助位置更新代码。
编辑以添加文件夹结构来帮助调试(请参阅下面的注释):
mypage.html
myLibFile.js
/lib/*.js (various js resources including jquery)
/lib/modules/*.js (various js resources)
/lib/fonts/* (various resources)
/themes/*.js (various js resources)
在mypage.html中,我有:
<script type="text/javascript" src="/lib/jquery.1.9.1.min.js"></script>
<script type="text/javascript" src="/lib/libFile.js"></script>
<script type="text/javascript" src="/lib/modules/modFile.js"></script>
<link href="/lib/fonts/awesomefont.css" rel="stylesheet">
<script type="text/javascript" src="/myLibFile.js"></script>
<script type="text/javascript">
$(function () { // On DOM ready...
// ... code ...
});
</script>
在我的node.js中,我尝试如下设置express:
self.app.use(express.static(__dirname));
self.app.use('/lib', express.static(__dirname + '/lib'));
self.app.use('/themes', express.static(__dirname + '/themes'));
当然,当使用您自己定制的nodejs服务器时,您的相对路径会起作用,该服务器可以提供文件、.html.css.js等。
我假设您有某种public
文件夹,用于提供资产。若你们并没有使用任何特殊的路由魔法,只引用公共文件夹的结构,那个么HTML中的相对路径就可以了。
<link rel="stylesheet" href="styles/main.css">
上面的代码可以加载类似的内容:public/styles/main.css
- 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.js请求数据事件未在CORS ajax调用中触发
- 使用node.js制作网站
- 使用node.js服务器中的evernote api获取note内容
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 在Node.js中上传和检索图像
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 如何使用 Node JS 获取 JSON 嵌套数组值