代码之家  ›  专栏  ›  技术社区  ›  user1675891

生成后无法在本地执行Angular应用程序

  •  1
  • user1675891  · 技术社区  · 8 年前

    我在玩Angular的CLI工具。当我执行时

    ng构建--详细

    这似乎起到了作用,因为我没有看到任何错误或警告。然而,当我进入 目录并在上执行FF ,我看到一个空白页。

    <body style="padding-top: 70px;">
      <app-root></app-root>
      <script type="text/javascript" src="inline.bundle.js"></script>
      <script type="text/javascript" src="polyfills.bundle.js"></script>
      <script type="text/javascript" src="scripts.bundle.js"></script>
      <script type="text/javascript" src="styles.bundle.js"></script>
      <script type="text/javascript" src="vendor.bundle.js"></script>
      <script type="text/javascript" src="main.bundle.js"></script>
    </body>
    

    我假设渲染这些东西所需的所有魔法 main.bundle.js inline.bundle.js 和/或包括的任何其他捆绑包。是这样吗?

    src公司 目录工作等等。我猜我忘记了一些相当简单的需要打开或注释掉的东西。在谷歌上搜索这样一个模糊的问题会产生一堆无用的信息。

    3 回复  |  直到 8 年前
        1
  •  4
  •   k11k2    8 年前

    我使用这个脚本而不是 <base href="/"> 在索引中。html打开dist目录中的文件。我不确定这是否是你的解决方案,但可能会有所帮助。

    <script>
        document.write('<base href="' + String(document.location).replace('index.html','') + '">')
        </script>
    
        2
  •  1
  •   Robin Dijkhof    8 年前

    这是因为你没有为你的页面服务。您需要一个简单的Web服务器,如 Nginx .

    • index.html 相对: <script type="text/javascript" src="./inline.bundle.js"></script>
    • 设置您的 base href 到dist文件夹的位置:
        3
  •  0
  •   Paul K    8 年前

    我认为路由器不知道如何处理文件://url。Angular执行路线的方式有些令人不安。当您导航到一个路由时,它取决于提供默认文档(index.html)的web服务器,然后它基本上会重新写入URL,以考虑路由器内部处理的基础之后的任何内容。

    简而言之,从实际的web服务器提供服务。