2014-03-29 48 views
0

我正在開發一個NodeJS + ExpressJS + Jade應用程序。爲什麼在ExpressJS + NodeJS設置中會自動更改CSS文件?

我有一個style.css文件,我這樣使用。

layout.jade:

doctype html 
html 
    head 
    title= title 
    link(rel='stylesheet', href='/stylesheets/style.css') 
    body 
    block content 

所有其他.jade文件擴展layout.jade

問題是當我啓動我的應用程序時,CSS文件被自動編輯爲更早的狀態(某些規則被刪除)。所以我必須將新規則複製回CSS文件,然後刷新頁面以使這些更改生效。

這是什麼造成的?

編輯:輸出find . -name style.\*

./node_modules/express/node_modules/connect/lib/public/style.css 
./node_modules/express/node_modules/connect/lib-cov/public/style.css 
./public/stylesheets/style.css 
./public/stylesheets/style.styl 
+0

從你在哪裏複製newwer規則回到CSS文件? NodeJS,Express和Jade不帶任何內置自動重載機制。那麼你使用一些額外的庫? – timaschew

+0

@timaschew,哦,我只是擊中了「Ctrl-Z」,因爲我的文本編輯器可以記住我的新規則。 – batman

+0

您試過其他瀏覽器了嗎?也許你的瀏覽器緩存舊版本? – timaschew

回答

0

不知道如何你有你的應用程序設置了更多的細節,我只能猜測,你有一些不太或者SASS中間件編譯東西自動覆蓋你的style.css。

看看你的主服務器腳本中'less'或'sass'。 你在使用Grunt嗎?在Gruntfile.js中查看'less'或'sass'。

如果一切都失敗,請嘗試在項目目錄中運行「查找」。喜歡的東西:

$ find ~/my-project -name style.\* 

可以想象它可能是值得狩獵* .LESS或* .scss沒有所有的休息:

$ find ~/my-project -name \*.scss 
$ find ~/my-project -name \*.less 
+0

請參閱編輯。 – batman

+0

這就是你的答案,你的項目使用Stylus:http://learnboost.github.io/stylus/。如果你想改變你的CSS,你需要把它們放在style.styl中。 style.css的改變將被覆蓋。 – Rajit

相關問題