我已经用Google搜索并搜索了Stack Overflow但我找不到一个帮助我的答案。
我有一个具有以下布局的小型Node项目:
├── app
│ ├── config
│ │ ├── env
│ │ │ ├── development.js
│ │ │ └── production.js
│ │ ├── express.js
│ │ └── index.js
│ ├── controllers
│ │ ├── home.js
│ │ ├── index.js
│ │ ├── metric.js
│ │ ├── metricList.js
│ │ └── metrics
│ │ ├── file2.js
│ │ ├── file3
│ │ ├── file4.js
│ │ ├── file5.js
│ │ ├── file6
│ │ ├── index.js
│ │ └── points.js
│ ├── data
│ │ └── premierLeague
│ │ └── 2015-16.json
│ ├── public
│ │ └── main.css
│ │ └── bower_components
│ ├── routes.js
│ ├── server.js
│ └── views
│ ├── home.handlebars
│ ├── layouts
│ │ └── main.handlebars
│ ├── metric.handlebars
│ └── metricList.handlebars
├── bower.json
├── jsonScript.js
├── npm-debug.log
├── package.json
└── server.js
Bootstrap位于public下的bower_components文件夹中。
在我的app / views / layouts / main.handlebars文件中,我需要使用以下脚本标记的bootstrap CSS文件:
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.min.css">
在我的app / config / express.js文件中(执行应用程序的很多工作),我有这一行:
app.use(express.static('./public'));
不幸的是,当我主持我的应用时,我总是在Chrome控制台中看到此错误:
http://localhost:8080/bower_components/bootstrap/dist/css/bootstrap.min.css Failed to load resource: the server responded with a status of 404 (Not Found)
如果有人能告诉我如何使用Express正确托管我的bower_components或从我的主布局成功链接到我,我真的很感激。这让我很生气,我尝试了无数的组合,它似乎永远不会起作用!非常感谢
答案 0 :(得分:0)
尝试找到正确的道路:
app.use(express.static(__dirname + '../public'));
__dirname获取本地目录。
和
<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css">