Я создаю веб-приложение. Внешний интерфейс выполнен в angular, а внутренний — в.Net Core.
В настоящее время я делаю следующее, чтобы создать свой окончательный образ докера:
- Создание углового приложения
- Скопируйте встроенные угловые файлы в wwwroot ядра asp.net.
- Создание основного приложения asp.net
- Публикация основного приложения asp.net
- Копирование результата публикации внутри образа докера.
Вот мой текущий файл докеров:
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM node:latest as node
WORKDIR /app
COPY Frontend.
RUN npm install
RUN npm run build
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Backend/my-project.csproj", "Backend/"]
RUN dotnet restore "Backend/my-project.csproj"
COPY Backend Backend
WORKDIR "/src/Backend"
COPY --from=node /app/dist/app/ /wwwroot/
RUN dotnet build "my-project.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "my-project.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish.
ENTRYPOINT ["dotnet", "my-project.dll"]
Весь процесс завершается без ошибок, но когда я пытаюсь получить доступ к http://localhost/
, я получаю html, но есть ошибка javascript:
Uncaught TypeError: (0, d.__decorate) is not a function
at Object.619 (main.3ba20fe70ead0a4b.js:1:45137)
at r (runtime.834ae414fca175dc.js:1:127)
at Object.1983 (main.3ba20fe70ead0a4b.js:1:45670)
at r (runtime.834ae414fca175dc.js:1:127)
at main.3ba20fe70ead0a4b.js:1:512504
at n (runtime.834ae414fca175dc.js:1:2649)
at main.3ba20fe70ead0a4b.js:1:57
Но:
- результат
ng serve
работы - обслуживание с тестовым сервером результат
npm build
работ - Копирование результата
npm build
в wwwroot моего ядра asp.net работает в режиме отладки - Публикация основного приложения asp.net (с заполненным wwwroot) также работает
- When I try to access to each individual file present in my npm build folder, it seems to be accessible(not sure, because names have this number that is not exactly the same)
- If I deleted nodes_modules, packages-lock.json and run
npm install
andnpm run build
, it also works - I deleted the angular app, created another one, run the whole docker build, it works.
- I tried to change node to the version I'm using on my computer(node 16.14)
Edit
I started to remove everything from my app to see when it starts working again. It appears that once I remove my State(s) of NgxsModule.forFeature([])
, it works.
So basically, if I've a module with:NgxsModule.forFeature([])
It works, but NgxsModule.forFeature([UiState])
doesn't, even if UiState is almost empty:
@State<UiStateModel>({
name: 'ui',
defaults: {
isMenuOpen: true,
},
})
@Injectable()
export class UiState {}
I'm kind of desperate, any idea what could cause this error?
Solution of the problem
Я не совсем уверен, что сделал трюк, но я, наконец, решил это. Что я сделал:
Комментариев нет:
Отправить комментарий