在使用ASP.NET内核运行多个角2应用程序时,我遇到了一些问题。我在用
带有预录制功能的JavaScriptServices
在Visual 2015模板中。
我的解决方案的结构是这里。
核心支持具有服务器端路由的ASP.NET应用程序,每个ClientApp一旦被限制,就会被复制到www.root中。
这里的问题是预录制功能,它会出现:
由于错误: error: Zone已加载而失败。
这种情况发生在ClientApp1第一次呈现之后重新加载页面或尝试在ClientApp1和ClientApp2之间切换时。
有人能帮我建议使用引导服务器和引导客户机风格运行多个Angular2应用程序的正确方法吗?
如有任何例子/建议,将不胜感激。
这个问题在github.com/aspnet/JavaScriptServices/issues/566的github也被打开了。
发布于 2017-04-07 05:51:48
我使用的方法似乎有效,就是简单地在webpack配置中定义多个入口点。
const clientBundleConfig = {
entry: {
'front': './client/front/main.ts',
'admin': './client/admin/main.ts',
},
output: {
path: './www/dist',
filename: '[name].bundle.js'
}
...
}现在,相关的角度应用程序前端或管理将更新从一个单一的HMR过程。我无法让它与使用相同的dotnet服务器进程的webpack配置和HMR进程一起工作,我发现只有第一个应用程序才会更新。
由于遇到的限制,更新需要为应用程序执行单独的构建。现在,我按照SteveSandersonMS的建议,为您链接到的Github问题中的每个应用程序调用UseWebpackDevMiddleware,他的建议中缺少的唯一步骤是需要为每个应用程序指定一个唯一的端点:
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true,
ConfigFile = "webpack.front.js",
HotModuleReplacementEndpoint = "/__webpack_hmr_front"
});
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
HotModuleReplacement = true,
ConfigFile = "webpack.admin.js",
HotModuleReplacementEndpoint = "/__webpack_hmr_admin"
});https://stackoverflow.com/questions/41663622
复制相似问题