Я начинаю с angular (немного больше опыта с ядром Asp.Net).
Я хотел использовать ядро .Net, потому что мне нравится направление, в котором движется MS (и я довольно свободно говорю на .Net :)).
Что я сделал:
- Обновление VS 2017 и VS Code до последней версии
- Обновлено npm (
npm update npm -g
)
dotnet new angular
- Обновил все (с https://www.npmjs.com/package/npm-update-all). Также сделал
npm audit fix
- Запустил приложение (
dotnet run
)
- Перейти к 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'