NodeJS Express sendFile,包括外部JS文件
NodeJS Express sendFile that includes external JS files
所以,我有一个这样的文件结构:
App
client
index.html
App.js
server
node_modules
package.json
server.js
server.js是由节点运行的服务器文件,它提供index.html
var app = require('express')();
var http = require('http').Server(app);
app.get('/', function(req, res){
res.sendFile("client/index.html",{ root: '../' });
});
http.listen(3000, function(){
console.log('Server is listening on port 3000');
});
因此,index.html在它的头中包含了App.js,就像你通常使用一样
<script type="text/javascript" src="App.js"></script>
问题是,当我连接时,App.js永远不会被找到和包含。给出404。我该怎么修?
这个解决了我的问题。你可以看看这个。
var express = require('express');
var app = express();
app.use('/js', express.static(__dirname + '/public/js'));
因此,我的app.js可以通过->访问http://localhost:3000/js/app.js
当浏览器中请求http://127.0.0.1:3000
时,服务器似乎什么都不做,只发送client/index.html
。实际上,当浏览器收到index.html时,它会向http://127.0.0.1:3000/App.js
发送另一个请求。但是您的服务器无法回答该请求。它只能处理对索引的请求。如果你想要一个静态服务器,请在Github上查看serve-static:https://github.com/expressjs/serve-static或者,您可以像对index.html
所做的那样,为使用app.js的应用程序编写另一条路由。
查看您需要使用路径访问的服务器文件夹结构/client/App.js,而不仅仅是App.js
所以你的脚本标签看起来像
<script type="text/javascript" src="./client/App.js"></script>
相关文章:
- JS文件的路径正在消失
- 我的外部js文件无法加载
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 动态加载和卸载js文件
- 如何将变量传递到另一个js文件
- 如何将所有JS文件连接到一个文件夹中
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 如何使用php文件中的GET来获取我在.js文件中声明的变量
- 如何将模板中的标记脚本移动到.js文件中
- 什么's是连接供应商js文件的最佳方式
- 如何在定义js文件后为外部javascript文件设置变量
- 如何在JS文件中获取资源(.resx)字符串
- 将*.js文件的内容放入Object中
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 如何使用Gmail运行.js文件
- 如何定义一个模块并使用它来分离js文件
- Angular JS文件上传到托管服务器
- 如何引用HTML中节点模块中的js文件
- 如何将JS文件从其他文件夹链接到页面