1

我在尝试运行ASP.NET Core多角2应用程序时遇到了一些问题。我正在使用ASP.NET Core - 运行多角2应用程序

JavaScriptServices with prerendering feature

在Visual Studio 2015模板中。

我的解决方案的结构是here

核心,则为ASP.NET应用程序与服务器端路由,并且每个ClientApp,一旦boundled,在wwwroot的内复制。

这里的问题是预渲染功能,它发源于:

Prerendering failed because of error: Error: Zone already loaded.

这种情况发生时,在第一渲染ClientApp1的我重新载入页面或当我尝试ClientApp1之间切换和ClientApp2

有人可以帮助我暗示什么是运行多个使用启动服务器启动的客户端风格Angular2应用正确的方法?

任何示例/建议将不胜感激。

问题也被打开,在github上的github.com/aspnet/JavaScriptServices/issues/566

回答

0

的方法我用,似乎工作就是简单地在的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" 
}); 
相关问题