当我进行构建时,出现了奇怪的错误,观看或运行服务器时没有任何提示,只有在构建时才会出现此错误:
意外关闭标记"a"。这可能是因为该标记已被另一个标记关闭。更多信息请参见 https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags ("ref=/user><img class="d-inline-block align-top" [src]="staticUrl + 'v4/img/intouch-logo-name.png'"/>[ERROR ->]</a> <search class="mr-auto col-sm-7 col-md-6 col-lg-5 col-xl-5 p-0"></search> <div id=settings> <div"): ng:///Users/header.html@0:192
以下是我的html代码:
<nav class="navbar d-flex flex-row navbar-light bg-faded fixed-top">
<a class="navbar-brand" href="/user"><img class="d-inline-block align-top" [src]="staticUrl + 'v4/img/intouch-logo-name.png'" /></a>
<search class="mr-auto col-sm-7 col-md-6 col-lg-5 col-xl-5 p-0"></search>
<div id="settings">
<div class="dropdown clearfix">
<div class="userProfile dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<div class="userDetail">
<label>
{{loggedUser.icontact.name.given + ((loggedUser.icontact.name.family) ? ' '+loggedUser.icontact.name.family : '')}}
</label>
<small>
{{loggedUser.icontact.user_iid}}
</small>
</div>
<img class="profilePic rounded-circle" [src]="(loggedUser.icontact.photo) ? loggedUser.icontact.photo.url : staticUrl + 'images/in_img_default_profile_100px.png'" />
</div>
<div class="dropdown-menu" aria-labelledby="settings">
<a class="dropdown-item" [href]="'/' + loggedUser.icontact.user_iid" target="_blank">View profile</a>
<a class="dropdown-item" href="/user/cards/" target="_blank">
Edit Profile
</a>
<div class="dropdown-divider"
*ngIf="accountInfo.userStatus.currentUserType == accountInfo.userStatus.groupType"></div>
<a class="dropdown-item" href="/user/notices/" target="_blank"
*ngIf="accountInfo.userStatus.currentUserType == accountInfo.userStatus.groupType">Notices</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item upgrade-link upgrade-account" href="/user/upgrade/" target="_blank"
*ngIf="accountInfo.userStatus.currentPlan == '001'">Upgrade</a>
<a class="dropdown-item" href="mailto:support@intouchid.net?Subject=Feedback%20on%20the%20new%20interface">Feedback</a>
<a class="dropdown-item" href="/user/import/" target="_blank">Import data</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/user/">Switch to old view</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="/logout/"
(click)="utilsService.sendEvent('spreadsheet_view', 'logout_clicked', 'clicked on logout')">Logout</a>
</div>
</div>
</div>
</nav>
以下是我使用的脚本来创建构建:npm run cleanup && npm run ngc && webpack --config config/webpack.prod.js -p
,我的Webpack配置如下:
plugins: [
new AotPlugin({
tsConfigPath: './tsconfig.json',
entryModule: helpers.root('src/app/app.module#AppModule')
}),
new webpack.LoaderOptionsPlugin({
debug: true, // config.debug has to be passed this way now too!
htmlLoader: {
minimize: false
}
}),
new webpack.NoErrorsPlugin(),
new webpack.optimize.DedupePlugin(),
new webpack.optimize.UglifyJsPlugin({ // https://github.com/angular/angular/issues/10618
mangle: {
keep_fnames: true
}
}),
new ExtractTextPlugin('[name].[hash].css'),
new webpack.DefinePlugin({
'process.env': {
'ENV': JSON.stringify(ENV)
}
}),
new CompressionPlugin()
]
<a>
标签中的href
属性没有任何引号:ref=/user>
。请检查引号是否正确 - 可以尝试删除href
属性,看看是否有所改变。 - aaron-bond