国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - node中如何在jade模板中引入靜態(tài)文件(css&js)?(不使用express)
PHP中文網
PHP中文網 2017-04-10 16:03:32
0
3
518

搜索得知,通過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?
謝謝!

PHP中文網
PHP中文網

認證0級講師

reply all(3)
伊謝爾倫

href,其實就是向服務器發(fā)送的GET請求,node那邊要判斷下路由路徑,用fs模塊把css文件的內容讀出來,再返回給客戶端就好了。

Ty80

我第一眼的感覺是使用絕對路徑會比較靠譜吧。

link(rel='stylesheet',type='text/css',href='../public/css/main.css')

換成

link(rel='stylesheet',type='text/css',href='/public/css/main.css')

反正無非就是路徑問題,也沒有什么好分析的哈。

黃舟

我這邊處理的方式是把 非 “text/html” 格式的請求,另外處理

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template