使用webpack在Angular 2中进行页面刷新会导致index.html没有样式/脚本

时间:2016-10-11 12:28:51

标签: angular webpack

我显然搞砸了一些东西,因为当我刷新页面或HRM刷新页面时它会转到index.html(或'/'),但我得到了html代码和webpack head-config.common.js aren'注入。我还看到webpack代码(占位符)被注入到正文而不是头部。

我正在使用angular2-webpack,我将code / config / etc文件与我的项目进行了比较,再次是我从GitHub中提取的angular2-webpack项目,除了我做的一些之外我没有看到任何差异(包括库)在vendor.browser.ts)。

我真的不知道我要查看哪个文件,我只是粘贴了我的index.html文件。但是请询问具体的代码,如果您认为错误可能位于不同的文件中,我也可以将其粘贴到此处。

这是我刷新页面时得到的内容:

enter image description here

当然它没有进入正确的页面,因为没有加载任何脚本......

这就是页面的样子:

enter image description here

这是我的index.html:

<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>
    <%= webpackConfig.metadata.title %>
</title>

 <meta name="description" content="<%= webpackConfig.metadata.title %>">

<% if (webpackConfig.htmlElements.headTags) { %>
        <%= webpackConfig.htmlElements.headTags %>
<% } %>

<base href="<%= webpackConfig.metadata.baseUrl %>">
</head>
<body>
  <fandango-app>
    <header class="collapsed">
        <div class="container-fluid">
            <img src="/assets/img/logo-white-sm.png" />
            <div id="titles">
                <h1>fandango</h1>
                <h4>cloud, for the rest of us.</h4>
            </div>
        </div>
    </header>
    <div id="loader" class="container text-center">
        <p>loading</p>
        <div class="loader">
            <span></span>
            <span></span>
            <span></span>
        </div>
    </div>
   </fandango-app>

  <!-- Google Analytics: change UA-71073175-1 to be your site's ID -->
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-71073175-1', 'auto');
  ga('send', 'pageview');
</script>

<% if (webpackConfig.metadata.isDevServer && webpackConfig.metadata.HMR !== true) { %>
    <!-- Webpack Dev Server reload -->
    <script src="/webpack-dev-server.js"></script>
<% } %>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

我认为你正在使用的webpack启动器遇到了同样的问题。 我用这个作为我的首发it's much simpler.

它有点过时,但我将它与webpack的文档进行比较,我能够更新它。

我会发布我的更新版本,但正如我为公司项目所做的那样,我不确定我是否会被允许。但如果您需要有关更新部分的帮助,请告诉我。

Ninja编辑:大多数人使用的(由AngularClass)非常好,但对于初学者Ng2 Dev来说,这是非常难的。对某些事情来说,这有点复杂。 (即我不需要TDD)

答案 1 :(得分:0)

好的,它已经解决,我从未想过npm run cleannpm install。这解决了它: - )