我正在使用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
答案 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
功能来获取服务器文件夹的父文件夹。