Ich verwende Express, um statische Inhalte auf meiner Website zu liefern, und ich möchte FontAwesome (npm install font-awesome
) integrieren. In CSS von Font-Awesome sind die Links zu den Font-Dateien jedoch mit einem Query-String versehen, der Versionsinformationen enthält, die express nicht verstehen.Express: Wie font-awesome als statischen Inhalt zu dienen?
Hat jemand dieses gefunden und eine Reparatur gefunden? Gibt es eine einfache Möglichkeit, die qs für statischen Inhalt ausdrücklich zu ignorieren?
var express = require('express')
var app = express()
app.use('/static', express.static('./node_modules/font-awesome/css'))
app.use('/static', express.static('./node_modules/font-awesome/fonts'))
// response 200 | /static/font-awesome.min.css
// error 404 | /static/fontawesome--webfont.woff?v=4.6.3
aktualisieren Wie @Denys Séguret weist unser es nicht die qs wie ich gedacht hatte. Die tatsächliche Anforderung ist für /fonts/fontawesome--webfont.woff?v=...
Lösung
app.use('/fonts', express.static('./node_modules/font-awesome/fonts'))
Dank Verwendung innerhalb der Inhalte der
./node_modules/font-awesome/css
und./node_modules/font-awesome/fonts
Verzeichnisse setzen, ich sehe jetzt sucht es nach der Schriftart in '' '/fonts/fontawesome-webfont.ttf?v = ...' '' – MatUtter_ "Das solltest du nie tun." _ Ich stimme nicht zu. Wenn Sie sich in einen bestimmten Semver der Abhängigkeit einklinken, sehe ich kein Problem darin, sie als statischen Pfad zu verwenden, auch wenn 'node_modules' nicht markiert ist. –
@PatrickRoberts Selbst wenn Sie denken, dass Sie es aufgrund der semver-Locking "sicher" tun können, ist es nicht sinnvoll, ein komplettes Node-Modul zu bedienen. Das Mindeste, was man sagen kann, ist, dass es extrem faul und schmutzig ist. –