Express nicht Rendern bootstrap
Ich bin gerade erst mit der ausdrücklichen und ich versuche, herauszufinden, warum, wenn ich meine app, Bootstrap, font nicht dargestellt wird (es zeigt den text in einfaches Times New Roman). Ich bin mir ziemlich sicher, dass ich mit dem richtigen Wege, denn wenn ich mein index.html in meinem browser ist die Schrift korrekt dargestellt wird. Ich habe auch versucht diese mit einem Bootstrap navbar und Bootstrap-nicht ordnungsgemäß angezeigt, wenn ich versuche, führen Sie es durch Knoten, aber es funktioniert wieder, wenn ich die HTML-Datei in meinem browser-unabhängig. Ändern Sie den Pfad der Bootstrap-Verzeichnis "/public/bootstrap - ..." bewirkt, dass es eine falsche Darstellung in beide Richtungen. Wie kann ich dieses Problem beheben?
index.html:
<html>
<head>
<title>X</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../public/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet" media="screen">
</head>
<body>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<div class="container">
<h1>Under Construction</h1>
<p>This website is under construction. Come back soon!</p>
</div>
</body>
</html>
web.js (meine wichtigsten app-Datei):
var express = require('express')
var app = express()
app.set('view engine', 'ejs')
app.engine('html', require('ejs').renderFile)
app.get('/', function(req, res) {
res.render('index.html')
})
var port = process.env.PORT || 5000;
app.listen(port, function() {
console.log("Listening on " + port);
})
Du musst angemeldet sein, um einen Kommentar abzugeben.
1) bootstrap-und express haben nichts miteinander zu tun. Bootstrap wird auf der client-Seite völlig, und express ist eine server-middleware-lib über node.js
2) Warum Dienst du bootstrap selbst? bessere Nutzung eines CDN :
3) wenn Sie darauf bestehen, auf das Sie sich fügen Sie ein statisches Verzeichnis, so dass express dienen können statische Dateien (hinzufügen einer statischen wird auch dienen, wenn Sie versuchen, und dienen js /css für yoursite aber immer noch lieber zu bedienen bootstrap von einem CDN.
dann müssen nicht öffentlich, nur mit root-rechten Pfad zu Ihrer css:
Benötigen Sie einen aktuellen statischen middleware. Express selbst nicht alles tun, standardmäßig.
app.use(express.static(__dirname + "/public"));
Verwenden Sie nicht "public" in die Pfade in der HTML. Das ist das Verzeichnis, in dem die statischen Elemente Leben, sondern aus der browser-Perspektive, das ist die Wurzel. Und nicht relative Pfade verwenden, entweder
.