2017-05-04 36 views
1

我一直在學習Angular並使用dotnet new angular來創建新的應用程序。我試圖將從模板創建的應用升級到Angular 4,然後才發現它徹底打破了它。我曾嘗試回滾到2,但沒有成功,現在我發現使用SPA模板從頭開始創建新的應用程序會導致以下錯誤。在點擊Ctrl + F5之前,我沒有更改代碼。無法創建Angular 2 SPA模板應用程序插入Angular 4

TS2345:類型爲「{html:string; }'不能分配給類型爲'RenderToStringResult |'的參數RedirectResult | PromiseLike」。 類型'{html:string; }'不能分配鍵入'PromiseLike'。 屬性'then'在類型'{html:string; }」。

有問題的文件似乎是boot-server.ts,特別是下面的代碼段。

return requestZone.run<Promise<string>>(() => platform.serializeModule(AppModule)).then(html => { 
     resolve({ html: html }); 
    }, reject); 

更新

它是在VS2017調試這是問題。 dotnet run工作得很好。

回答

1

的問題是不是從VS2017,但已經更新,並根據配置的package.json它將在npm installyarn(或當嘗試,如果你檢查的csproj配置出版)進行更新,包一包與問題是:"aspnet-prerendering": "2.0.4",剛剛發佈3-4小時前,使用2.0.3解決了這個問題。

嘗試npm install [email protected]

最有可能這個問題會在幾個小時內。

dotnet run不運行npm任務這就是爲什麼它與您的wwwroot文件夾中已有的文件一起工作。

更新

一個新的更新包已經被推到解決這個問題2.0.5 https://github.com/aspnet/JavaScriptServices/issues/918

+0

我在[混帳]線程(以下https://github.com/aspnet/JavaScriptServices/issues/918)並且剛剛出現。我在'package.json'中降級了,但是沒有幫助,所以會嘗試cli。非常感謝。 – K7Buoy

+0

您是否嘗試清理所有'node_modules'並重新安裝它們? –

+0

只是旅行。當我有機會時,會做一個完整的清理和2.0.5安裝。 – K7Buoy