使用Node时未找到Bower组件

时间:2015-12-30 17:50:59

标签: javascript html node.js bower

当我在端口8080启动节点服务器并在浏览器中查看时,我看到了:

enter image description here

我找不到任何凉亭文件。

当我只是通过编辑器预览代码时,如括号。一切正常。我不明白为什么node会导致问题。

我在节点中的最后一条路线如下:

app.get('*', function(req, res){
    res.sendFile(path.join(__dirname + '/public/index.html'));
});

我的文件夹结构如下所示:

enter image description here

我在HTML文件中的包含如下所示:

<link rel="stylesheet" href="../bower_components/bootstrap/dist/css/bootstrap.css"/>
<style>
    html                    { overflow-y:scroll; }
    body                    { padding-top:50px; }
    #todo-list              { margin-bottom:30px; }
</style>

<!-- JS Source -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
<script src="./core.js"></script>

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:8)

您需要公开bower_compoments目录,就像您(可能)使用public中间件express.static所做的那样。

var path = require('path')
app.use('/bower_components', express.static(path.join(__dirname, 'bower_components')))

请注意,截至2017年10月,您应该migrate away from Bower

答案 1 :(得分:0)

将它们放在公共文件夹中。最好是.bowerrc。在与.bowerrc相同的目录中创建名为bower.json的文件,其中包含以下内容:

{
  "directory": "public/bower_components"
}

答案 2 :(得分:0)

我想你正在使用express包来创建服务器的路由。 你设置了静态资产吗? http://expressjs.com/en/starter/static-files.html