【问题标题】:Bootstrap does not load in HTML file in node js appBootstrap 未在节点 js 应用程序的 HTML 文件中加载
【发布时间】:2021-08-31 19:22:03
【问题描述】:

我是 Node js 的新手,基本上,这是我在 Node js 和 javascript 中的第一个应用程序。 我有以下 HTML 文件并尝试从节点模块加载引导 CSS

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MyApp</title>
    <link  href='../node_modules/bootstrap/dist/css/bootstrap.css' rel ="stylesheet" media="all">

<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item active">
          <a class="nav-link" href="/api/images">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Features</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>
    </div>
  </nav>
</body>

</html>

我试过了:

<link  href='../node_modules/bootstrap/dist/css/bootstrap.css' media="all">

<link  href='../node_modules/bootstrap/dist/css/bootstrap.css'>

<link  href='../node_modules/bootstrap/dist/css/bootstrap.min.css' rel ="stylesheet" media="all">

虽然没有成功。

index.html 在视图文件夹中,index.js 在根文件夹中。

bootstrap 不适用于 HTML 文件?

【问题讨论】:

    标签: javascript html css node.js twitter-bootstrap


    【解决方案1】:

    您可以使用静态文件夹,然后将其链接到 html 文件中,如下所示:

    app.use('/css', express.static(__dirname + '/node_modules/bootstrap/dist/css')); // redirect CSS bootstrap
    

    然后添加如下链接:

    <link rel="stylesheet" href="/css/bootstrap.min.css">
    

    【讨论】:

    • 成功了!谢啦。我只是想知道它是如何解决问题的?是不是说 express js 处理了应用中的一切?
    • 当你从 npm 安装一个包时,你不是直接从 nod_modules 安装它来使用它。如果是这样,如果你从cdn导入它会很容易,这也是我们应该从公共资源目录而不是像node_module这样的私有包调用文件的另一个概念。
    【解决方案2】:

    尝试从网站加载引导程序

    <!DOCTYPE html>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>MyApp</title>
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
    
    <body>
      <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <a class="navbar-brand" href="#">Navbar</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNav">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="/api/images">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item">
              <a class="nav-link disabled" href="#">Disabled</a>
            </li>
          </ul>
        </div>
      </nav>
    </body>
    
    </html>
    

    它应该可以工作

    【讨论】:

    • 应该在本地工作,我已经从maxcdn.bootstrapcdn.com尝试过,不工作
    猜你喜欢
    • 1970-01-01
    • 2022-10-17
    • 2017-03-30
    • 2019-06-26
    • 2014-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多