搜索得知,通过express框架,指定public然后可以引入css等文件。
但是,如果不使用框架,如何实现jade等模板的外部文件引入?
文件目录如下:
blog
/index.js
/public
/js
/css
/img
/views
/index.jade
/node_modules
/...
jade模板如下
doctype html
html
head
meta(charset='utf-8')
title #{blog_title}
link(rel='stylesheet',type='text/css',href='../public/css/main.css')
路由处理函数如下
function start(response,request){
var jade = require('jade');
var fn = jade.compileFile('./views/index.jade');
var html = fn({'title':'test'})
response.writeHead(200,{"Content-Type":"text/html"})
response.write(html)
response.end();
}
exports.start = start
结果是,模板可以正确加载,但是样式和行为文件加载失败,提示:
Failed to load resource: the server responded with a status of 404 (Not Found)
请问
1.为何会出现这样的错误?
2.怎样才可以在服务器模板正确引入css和js?
谢谢!
href,其实就是向服务器发送的GET请求,node那边要判断下路由路径,用fs模块把css文件的内容读出来,再返回给客户端就好了。