bower_components没有加载快速静态

时间:2016-07-17 19:21:54

标签: javascript node.js express bower

我正在使用bower制作快速应用程序,但不知何故找不到bower_components文件夹。我在这里搜索过,尝试了所有解决方案,但没有任何效果。

在我的server.js中我有:

/server/app.js

<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.css" /></script>
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>   
...

在索引中

/app/index.html

GET http://localhost:3000/bower_components/bootstrap/dist/css/bootstrap.css 
(index):85 GET http://localhost:3000/bower_components/jquery/dist/jquery.js 
(index):86 GET http://localhost:3000/bower_components/angular/angular.js 

Cannot GET /bower_components/bootstrap/dist/css/bootstrap.css
...

我得到了什么:

server.js
app.use(express.static('bower_components'));

index.html
<link rel="stylesheet" href="/bootstrap/dist/css/bootstrap.css" />

如果我从标签中删除“/ bower_components”前缀,并在服务器中更改为:

sys.path

1 个答案:

答案 0 :(得分:1)

这应该由服务器文件夹外的bower_components文件夹引起。将您server/app.js的代码修改为:

var path = require('path');

app.use('/bower_components', express.static(path.dirname(__dirname) + '/bower_components'));

这里我使用dirname()内置nodejs包中的path功能来获取服务器文件夹的父文件夹。