![](/img/trans.png)
[英]stylus is not compiling stylesheets (nodejs express jade stylus and nib)
[英]nodejs/jade/express in mvc: cannot get stylus to compile files
我正在按照本教程使用node.js,Express和Jade設置適當的MVC項目。 它很棒。 我只是在設置Stylus和nib時遇到問題。
我的文件系統:
/
| app
| controllers
| index.server.controller.js
| models
| routes
| index.server.routes.js
| views
| stylesheets
| style.styl
| index.jade
| config
| env
| config.js
| express.js
| node_modules
| ...
| public
| images
| scripts
| stylesheets
| style1.css
| package.json
| server.js
server.js:
var port = 8888
var express = require('./config/express')
var app = express()
app.listen(port)
console.log('server is running on port: ' + port)
express.js:
var express = require('express')
var stylus = require('stylus')
var nib = require('nib')
module.exports = function() {
var app = express()
app.set('views', './app/views')
app.set('view engine', 'jade')
require('../app/routes/index.server.routes.js')(app)
app.use(stylus.middleware({
src: __dirname + '/app/views',
dest: __dirname + '/public'
}))
app.use(express.static('./public'))
return app
}
index.server.routes.js:
module.exports = function(app) {
var index = require('../controllers/index.server.controller')
app.get('/', index.render)
}
index.server.controller.js:
exports.render = function(req, res) {
res.render('index', {
title: 'hello world',
header: 'hi tahr'
})
}
我知道我甚至不嘗試在這里運行nib,它甚至不會編譯.styl文件。 我嘗試了數千種不同的方法來實際添加這個中間件。 我嘗試在路由器,靜態等之前和之后添加它。
其他可能相關的文件:
據我所知它的工作原理如下:server.js要求express.js初始化和配置自己,並等待獲得一個完成的快速對象。
Express要求路由器使用index.server.routers.js文件,該文件又要求index.server.controller.js做一些事情。 它完成了它的東西,在它完成express.js后可以將app返回到server.js,它將開始監聽端口8888。
我知道它可能與我訂購文件的順序有關,可能是因為我渲染太快或者其他東西......但是那些.styl文件仍然應該出現! 使用debug:true將不會在控制台中顯示任何內容,唯一的消息是“服務器正在端口上運行:8888”。
Firefox開發人員工具說style1.css正確加載,而style.css的查詢失敗了404(因為Stylus沒有編譯這樣的文件)。
花了幾個小時(字面意思),我放棄並請求你的幫助,stackoverflowers。
經過一段時間的斗爭,我發現最好的解決方案是使用:
npm install -g stylus
stylus -w /public/stylesheets&
對於異步任務來監視文件更改和自動編譯。 不知道如何讓它在Windows下工作,但TBH我不在乎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.