Wie man Stift dazu bringt, mit Express und Verbinden in Coffeescript zu arbeiten
-
27-10-2019 - |
Frage
Meine App.Coffee sieht so aus:
connect = require 'connect'
express = require 'express'
jade = require 'jade'
stylus = require 'stylus'
app = express.createServer()
# CONFIGURATION
app.configure(() ->
app.set 'view engine', 'jade'
app.set 'views', "#{__dirname}/views"
app.use connect.bodyParser()
app.use connect.static(__dirname + '/public')
app.use express.cookieParser()
app.use express.session({secret : "shhhhhhhhhhhhhh!"})
app.use express.logger()
app.use express.methodOverride()
app.use app.router
app.use stylus.middleware({
force: true
src: "#{__dirname}/views"
dest: "#{__dirname}/public/css"
compress: true
})
)
# ROUTES
app.get '/', (req, res) ->
res.render 'index',
locals:
title: 'Title'
# SERVER
app.listen(1234)
console.log "Express server listening on port #{app.address().port}"
Aktualisieren: Ich bekomme es nicht, die CSS-Files zu schreiben.
Lösung
Fand die Antwort, hinzugefügt:
compile = (str, path, fn) ->
stylus(str).set('filename', path).set('compress', true)
Andere Tipps
Sie können natürlich Ihre eigene Kompilierungsfunktion bereitstellen, aber es überschreibt die Standardeinstellung unnötig. Fügen Sie stattdessen Debug -Option zu Ihrem Middleware -Anruf hinzu und überprüfen Sie, wo die Dinge schief gehen:
app.use stylus.middleware
debug: true
force: true
src: "#{__dirname}/../public"
dest: "#{__dirname}/../public"
Für mich bestand das Problem darin, den falschen SRC/Dest -Pfad zu setzen. Sind Sie sicher, dass sich Ihre .styl -Dateien tatsächlich in Ihrem Ansichtenordner befinden?
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow