【问题标题】:Angular2 application build, but file not found while loading the css, js foldersAngular2应用程序构建,但在加载css、js文件夹时找不到文件
【发布时间】:2017-02-16 19:23:18
【问题描述】:

我有一个使用 nodejs 服务器 api 的 angular2 应用程序。 我使用 nd b 构建应用程序,它在 dist 文件夹中创建了文件。在哪里可以指定生产构建的生产 url,以便所有 css、js 文件正确加载。

另外,我是否需要 apache 服务器来托管这些构建。或者我可以使用节点服务器本身来托管它吗?

索引.html:

<!doctype html>
<html>
<head>
  <base href="/">
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Demo</title>
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <link rel="stylesheet" href="assets/styles/css/custom.css"/>
  <script src="assets/vendor/pace/pace.js"></script>
</head>
<body>
  <app-root>
    <div class="loading"></div>
  </app-root>
</body>
</html>

谢谢

【问题讨论】:

    标签: javascript node.js angular


    【解决方案1】:

    通过分析您的 html 文件,我发现&lt;base&gt;tag 存在问题。

    您需要提供./ 而不是/,这是错误的。 修正后的 html 文件如下。

    <!doctype html>
    <html>
    <head>
      <base href="./"> <!-- use ./ instead of / -->
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>SHEPHERD SHIELD</title>
      <link rel="icon" type="image/x-icon" href="favicon.ico">
      <link rel="stylesheet" href="assets/styles/css/custom.css"/>
      <script src="assets/vendor/pace/pace.js"></script>
    </head>
    <body>
      <app-root>
        <div class="loading"></div>
      </app-root>
    </body>
    </html>

    【讨论】:

    • 是的,@KrutikJayswal。我正在回答这个问题,并没有注意到屏幕上的执行窗格
    • 你拯救了我的一天!非常感谢。
    【解决方案2】:

    出于开发和测试目的,您可以从 dist 文件夹中指定 css 的 url。如果您要进行生产,那么您可以复制缩小版的 css 和 js 文件并将它们放在 stylejs 文件夹中,也可以从这些文件夹中设置 html 文件中的 url。

    【讨论】:

    • 我已经成功构建了 angular2 应用程序,但我想将它托管在 /var/www/v1 即 ip/v1 (ip: 00.00.0.0) 中,我在哪里可以指定主机 url :环境文件中的localhost/testproject? ng g 命令在 dist 文件夹中构建文件,但是当我将这些文件复制到 /var/www/v1 时,它显示,无法加载 js、css 文件,即尝试从 localhost/styles/custom.css 加载,实际上它存在于 localhost/v1/styles/custom.css 中。我希望这是由于某处 url 规范的滞后。
    • 你能在浏览器的开发者标签中查看网络标签吗?
    • 是的。我必须检查什么
    • js、css 文件正在尝试从 localhost 加载,而不是从 localhost/v1 加载。
    • 请分享您的 html 文件详细信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2020-07-30
    • 2023-03-28
    • 2017-03-30
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多