Angular 2和webpack:意外结束标记"a"

Gér*_*and 2 webpack angular

我有这个Angular 2模板,它显示了我的网站的标签:

<div id="menu">
    <ul id="tabs">
        <li *ngFor="let tab of tabs; let i = index" [class.active]="selectedTab===i">
            <a routerLink="/private/home/{{i}}">{{tab}}</a>
        </li>
    </ul>
</div>

<div class="tabContent">
    <span *ngIf="selectedTab==0"><welcome></welcome></span>
    <span *ngIf="selectedTab==1"><boiler></boiler></span>
</div>
Run Code Online (Sandbox Code Playgroud)

它运作得非常好.然后,我尝试使用带有默认选项的Webpack来创建唯一的*.js文件:它仍然有效.最后,在Webpack中,我激活了最小化.js文件的选项,我收到此错误:

Unexpected closing tag "a" (" of tabs; let i = index" [class.active]="selectedTab===i">
<a routerlink=/private/home/{{i}}>{{tab}}[ERROR ->]</a> </li> </ul> </div>                 
<div class=tabContent> <span *ngif="selectedTab==0"><welcome></welcome></span")
Run Code Online (Sandbox Code Playgroud)

对这个错误有什么想法吗?

这里是Webpack生成的相关代码:

function(t,e){t.exports='<div id=menu> <ul id=tabs> <li *ngfor="let tab of tabs; 
let i = index" [class.active]="selectedTab===i"> 
<a routerlink=/private/home/{{i}}>{{tab}}</a> </li> </ul> </div> <div class=tabContent> 
<span *ngif="selectedTab==0"><welcome></welcome></span> <span *ngif="selectedTab==1">
<boiler></boiler></span> </div>'}
Run Code Online (Sandbox Code Playgroud)

Pie*_*Duc 5

我猜问题就在于htmlLoader.根据您的webpack版本,您应该minimize在webpack配置中将该选项设置为false.

webpack 1(在配置的根目录内)

htmlLoader: {
    minimize: false
},
Run Code Online (Sandbox Code Playgroud)

webpack 2

plugins: [
    new webpack.LoaderOptionsPlugin({
        options : {
            htmlLoader : {
                minimize : false
            }
        }
    })

]
Run Code Online (Sandbox Code Playgroud)