Bower组件中的Bootstrap - 404(未找到)

时间:2016-06-14 06:42:27

标签: node.js twitter-bootstrap express

我已经用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或从我的主布局成功链接到我,我真的很感激。这让我很生气,我尝试了无数的组合,它似乎永远不会起作用!非常感谢

1 个答案:

答案 0 :(得分:0)

尝试找到正确的道路:

app.use(express.static(__dirname + '../public'));

__dirname获取本地目录。

<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css">