所以我只是在学习,我正在尝试使用节点构建一个Web应用程序,我知道我可以使用express,但我正在尝试使用Node构建它以便更好地理解。
问题是我无法在应用程序上加载main.js页面。 我有一个构建页面的路由器模块,例如
function home(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(fs.readFileSync('./views/header.html'));
res.write('<style>' + fs.readFileSync('./css/styles.css') + '</style>');
res.write(fs.readFileSync('./views/startpage.html'));
res.end(fs.readFileSync('./views/footer.html'));
};
并且脚本标记位于关闭正文标记之前的页脚部分中,我是否需要以不同的方式加载它?
这是完整的应用程序,如果这是不够的信息,谢谢 https://github.com/naassi/taxi-log
答案 0 :(得分:1)
您可能想要所有css和javascript文件的静态文件服务器。不包括在家中发送CSS文件内容,包括
<style>./css/styles.css</style>
,并使用相应的文件回答* .css文件的请求:
function staticServer(req, res) {
fs.readFile(__dirname + req.url, function (err,data) {
if (err) {
res.writeHead(404);
res.end(JSON.stringify(err));
return;
}
res.writeHead(200);
res.end(data);
});
})
在页脚中,您要加载.js文件 - 您的节点服务器负责提供该文件,就像它处理例如家庭的请求一样。
如果您正在学习Node,请尝试远离同步功能,阻止事件循环,并打败Node的好部分:)