Как использовать ядро ​​ASP .Net с угловой 6? - PullRequest
0 голосов
/ 04 июля 2018

Я начинаю с angular (немного больше опыта с ядром Asp.Net). Я хотел использовать ядро ​​.Net, потому что мне нравится направление, в котором движется MS (и я довольно свободно говорю на .Net :)).

Что я сделал:

  1. Обновление VS 2017 и VS Code до последней версии
  2. Обновлено npm (npm update npm -g)
  3. dotnet new angular
  4. Обновил все (с https://www.npmjs.com/package/npm-update-all). Также сделал npm audit fix
  5. Запустил приложение (dotnet run)
  6. Перейти к http://localhost:5000

Это выдало много ошибок в консоли:

C:\Users\xxxx\angular-test>dotnet run Hosting environment: Production Content root path: C:\Users\xxxx\angular-test Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down. fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
      An unhandled exception has occurred: Prerendering failed because of error: Error: Cannot find module 'C:\Users\xxxx\angular-test\ClientApp\dist\main-server'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at findBootModule (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:111:17)
    at findRenderToStringFunc (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:116:28)
    at renderToStringImpl (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:75:51)
    at C:\Users\xxxx\AppData\Local\Temp\eikzpvcj.v2i:114:19
    at IncomingMessage.<anonymous> (C:\Users\xxxx\AppData\Local\Temp\eikzpvcj.v2i:133:38)
    at IncomingMessage.emit (events.js:182:13) Current directory is: C:\Users\xxxx\angular-test

Microsoft.AspNetCore.NodeServices.HostingModels.NodeInvocationException: Prerendering failed because of error: Error: Cannot find module 'C:\Users\xxxx\angular-test\ClientApp\dist\main-server'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at findBootModule (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:111:17)
    at findRenderToStringFunc (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:116:28)
    at renderToStringImpl (C:\Users\xxxx\AppData\Local\Temp\uwz4m2yz.rjc:75:51)
    at C:\Users\xxxx\AppData\Local\Temp\eikzpvcj.v2i:114:19
    at IncomingMessage.<anonymous> (C:\Users\xxxx\AppData\Local\Temp\eikzpvcj.v2i:133:38)
    at IncomingMessage.emit (events.js:182:13)

И это на веб-странице:

Error. Произошла ошибка при обработке вашего запроса. Идентификатор запроса: 0HLF1EQKVCJ2V: 00000001

Режим разработки Переключение в среду разработки покажет больше подробная информация о произошедшей ошибке.

Среда разработки не должна быть включена в развернутом приложения, так как это может привести к получению конфиденциальной информации от исключения отображаются для конечных пользователей. Для локальной отладки, Среду разработки можно включить, установив Переменная среды ASPNETCORE_ENVIRONMENT для разработки, и перезапуск приложения.

Что я пропустил? Или что бы вы посоветовали мне начать проект с ядром Asp.Net и angular 6 (мне нравится идея HMR, и я хочу, чтобы все размещалось на ядре asp.net (статические ресурсы и сервис).

Редактировать Я пытался использовать среду разработки (с SET ASPNETCORE_ENVIRONMENT=Development), но затем он зависал непосредственно при запуске приложения (мне не нужно заходить на веб-страницу):

C:\Users\xxxx\angular-test>dotnet run
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
      User profile is available. Using 'C:\Users\xxxx\AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Application startup exception: System.AggregateException: One or more errors occurred. (Cannot find module './wwwroot/dist/vendor-manifest.json'
Error: Cannot find module './wwwroot/dist/vendor-manifest.json'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at module.exports (C:\Users\xxxx\angular-test\webpack.config.js:37:27)
    at createWebpackDevServer (C:\Users\xxxx\angular-test\node_modules\aspnet-webpack\WebpackDevMiddleware.js:214:31)
    at createWebpackDevServer (C:\Users\xxxx\AppData\Local\Temp\xwjt2knh.npy:74:50)
    at C:\Users\xxxx\AppData\Local\Temp\kn0wvgm3.vrx:114:19
    at IncomingMessage.<anonymous> (C:\Users\xxxx\AppData\Local\Temp\kn0wvgm3.vrx:133:38)
    at IncomingMessage.emit (events.js:182:13)) ---> Microsoft.AspNetCore.NodeServices.HostingModels.NodeInvocationException: Cannot find module './wwwroot/dist/vendor-manifest.json'
...