asp.net 핵심 웹 응용 프로그램이 있습니다. Docker 컨테이너에서 실행하려고합니다.dotnet run은 bower 패키지를 사용하지 않습니다.
파워 쉘에서 프로젝트 파일 내부에, 나는 그 > dotnet restore
> dotnet run
을 실행할 수 있으며, 그것은 고정 표시기 컨테이너를 실행합니다 :
PS E:\Projects\...> dotnet run
Project MyProject (.NETCoreApp,Version=v1.1) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: E:\Projects\...
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
유일한 문제는 내가 localhost:5000
에 갈 때, 그것은 정자 패키지처럼 나타나는 것입니다 (Angular와 같은)는 설치되지 않습니다. 웹 페이지/컨트롤러가 모두 작동하는 동안 프런트 엔드 각도는 실행되지 않습니다.
404를 찾지 못하면 앵귤러 항목을 바인딩하지 않습니다.
Visual Studio (2015)에서 동일한 프로젝트를 실행하면 걱정없이 Angular를 포함/실행하므로 웹 사이트가 정상적으로 보이게됩니다. 소스를 보면 각도 파일이 포함 된 것을 볼 수 있습니다.
FROM microsoft/aspnetcore-build
WORKDIR /app
COPY published .
ENTRYPOINT ["dotnet", "MyProject.dll"]
하지만 나는 그것이 dotnet run
명령에 문제가 있다고 생각 :
내 DockerFile이다.
bower 패키지가 도커 컨테이너에 포함되어 실행되도록하려면 어떻게해야합니까? 1
편집 나는 행운과 함께 다음 다음 dotnet run
을 bower install
을 dotnet build
을 수행했습니다.
그 후 나는 게시하기 위해 dotnet publish -o published
을 게시하려고 시도한 다음 게시 된 디렉토리에서 dotnet MyProject.dll
과 함께 실행했습니다.
내가 비주얼 스튜디오에서 프로젝트를 실행하면 페이지가 가지고있는 모든 스크립트를 포함 :
...
<script src="/lib/jquery/dist/jquery.js"></script>
<script src="/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
<script src="/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="/js/site.js?v=EWaMeWsJBYWmL2g_KkgXZQ5nPe-a3Ichp0LEgzXczKo"></script>
<script src="/lib/angular/angular.js?v=IuVz88ct2cRJMIP8PVY9rcWTcd2eXzzvz3cdkmfoX2k"></script>
...
을하지만 그것은 다음 dotnet MyProject.dll
을 모두 dotnet run
및 dotnet publish
를 사용하여 실행할 때 그 스크립트는 페이지 소스에 포함되지 않습니다.
고정
내가 그것을 생산 모드에서 실행 된 의미 dotnet run
을 실행하는 것을 밝혀졌습니다.
페이지에 모든 스크립트가 포함되어있는보기 Views\Shared\Components\_EnvironmentFooter.cshtml
에 파일이 있습니다. 유일한 문제는 스크립트가 개발 환경에 포함되었지만 프로덕션 환경에는 포함되어 있지 않다는 점이었습니다.
<environment names="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/lib/angular/angular.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
제작/준비 환경에서 개발 한 스크립트가 포함되어 있습니다. 더 이상 문제가되지 않습니다.
안녕하세요, Tim, 귀하의 회신에 감사드립니다. 내가 그걸 줬어. (업데이트 된 질문보기) – Chris