【问题标题】:Serving static JavaScript in Node.js在 Node.js 中提供静态 JavaScript
【发布时间】:2017-09-27 23:03:41
【问题描述】:

我正在尝试将我的 bootstrap.min.js 提供给页面。但由于某种原因,它不起作用。但是 bootstrap.min.css 工作得很好。我做错了什么?

在图片中,您可以看到我的结构和部分代码。真的没有太多事情发生。我正在尝试像这样提供 JavaScript:

<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/jquery.min.js"></script>

我对 CSS 做同样的事情,它可以工作。

【问题讨论】:

  • 试试 app.use(express.static(path.join(__dirname, 'public')));
  • 当您在开发工具控制台中检查您的页面时,是否有任何错误(例如,错误提示“找不到 ./js/bootstrap.min.js”)?
  • I do the same for the css and it works. 例子?证明?我认为您误诊了问题。

标签: javascript node.js twitter-bootstrap


【解决方案1】:

因此,有一些 cmets 和答案可以解决我的问题。 阅读@Josh-Beam 的反应,我开始检查页面,发现我必须像@Daniel 所说的那样在 bootstrap.min.js 之前包含 jquery.min.js。

之后我收到一条错误消息,提示 bootstrap 需要 popper.js 才能运行。 我包括了这个popper.js,因为其他的给了我一个意外的令牌错误。我把 popper.js 放在 jquery.js 之后

它现在运行得很好。我的最终代码如下所示:

<script src="../js/jquery.min.js"></script>
<script src="../js/popper.min.js"></script>
<script src="../js/bootstrap.min.js"></script>

【讨论】:

    【解决方案2】:

    使用/js/bootstrap.min.js 代替../js/bootstrap.min.js。并以这种方式声明您的中间件:

    app.use(express.static(path.resolve(__dirname, 'public')));
    

    【讨论】:

    • 在你的 html 中还包括 jquery.min.js 之前 bootstrap.min.js
    • 我的中间件是这样定义的,但有人告诉我将其更改为我的图像中的内容。我为什么要这样做?
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2013-03-06
    • 2013-10-19
    • 2014-07-20
    • 1970-01-01
    • 2014-11-24
    • 2016-01-22
    • 2016-09-14
    相关资源
    最近更新 更多