使用 Node 时找不到 Bower 组件

Bower components not found when using Node

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

我没有找到任何 bower 文件。

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

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

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

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

我在 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>

如有任何帮助,我们将不胜感激。

将它们放在 public 文件夹中。最好用 .bowerrc。在与 bower.json 相同的目录中创建名称为 .bowerrc 的文件,内容如下:

{
  "directory": "public/bower_components"
}

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

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

请注意,自 2017 年 10 月起,您应该 migrate away from Bower

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