Javascript/node链接main.js
所以我只是在学习,我正在尝试使用node构建一个web应用程序,我知道我可以使用express,但我正在尝试使用node构建所有应用程序,以便更好地理解 问题是我无法在应用程序上加载main.js页面。 我有一个路由器模块,用于构建页面Javascript/node链接main.js,javascript,node.js,express,Javascript,Node.js,Express,所以我只是在学习,我正在尝试使用node构建一个web应用程序,我知道我可以使用express,但我正在尝试使用node构建所有应用程序,以便更好地理解 问题是我无法在应用程序上加载main.js页面。 我有一个路由器模块,用于构建页面 function home(req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(fs.readFileSync('./views/header.html
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'));
};
功能主页(req,res){
res.writeHead(200,{'Content-Type':'text/html'});
res.write(fs.readFileSync('./views/header.html');
res.write(“”+fs.readFileSync(“”/css/styles.css')+“”);
res.write(fs.readFileSync('./views/startpage.html');
res.end(fs.readFileSync('./views/footer.html');
};
脚本标记位于页脚部分,就在结束正文标记之前,我需要以不同的方式加载它吗
这里是完整的应用程序,如果这是不够的信息,谢谢
您可能需要一个用于所有css和javascript文件的静态文件服务器。不要在家中发送CSS文件内容,而是包括
/css/styles.css
,并使用适当的文件回答*.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);
});
})
在footer中,您希望加载一个.js文件—您的节点服务器负责提供该文件,就像它处理一个请求(例如home)一样
如果你在学习Node,试着远离同步函数,它们会阻塞事件循环,并破坏Node的好部分:)好方法可能是使用一个框架,比如
express
和一个模板引擎,比如jade
或ejs
谢谢,我想我还有很多关于Node js的知识要学习,staticserver函数是否应该重新设置我的主路径,而我不明白如何使用服务器来提供数据和js文件?我将从一个较小的示例开始:如果希望在主函数中加载一个html文件。然后在html文件中包含css。在home函数中,您可以解析请求url。如果以.css结尾,则加载并提供css文件,否则执行当前在家中执行的操作。然后将其扩展为不仅检查.css,而且检查.js等等。我不会在home函数中执行fs.read(),而是写出您想要提供的html。这样可能更容易理解发生了什么。分步工作,然后包含更多内容!