我尝试运行我的网站2种方法。1)使用节点
2)不使用节点(仅在我的计算机上使用index.html)但是,在链接样式表方面,结果是不同的。如果没有节点,则样式标签中的样式表可以照常链接。但是,将节点用作服务器时,无法链接样式表。
这是我的代码的结构。
/app
/server.js
/views
/statics
/index.html
/partials
/public
/javascript
/css
/main.css
/images
这是index.html头标记
<link rel="stylesheet" type="text/css" media="screen" href="../../public/css/main.css">
server.js
const express = require('express')
const app = express()
const path = require('path')
// no need to use app.use(app.router) because of that update
// function signature express.static(root, [options])
app.use(express.static('public'));
// mount root to views/statics
app.use('/', express.static('views/statics'));
const PORT = process.env.PORT || 3000;
app.listen(PORT,() => {
console.log(`Server is listening on port ${PORT}`)
});
您似乎没有提供以下路径来使用资产:
app.use(express.static('public'));
根据这种情况下的文档,公用文件夹中的子文件夹将从根路径获得。
通常,您应避免按相对路径投放资产。在你的情况下href="/css/main.css"
应该工作。Node充当服务器,您可以在中定义可用资源的路径server.js
。您无法在文件系统的目录结构路径下访问它们
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句