当前位置: 首页 > 面试题库 >

为Angular项目启用Docker支持

郑安晏
2023-03-14
问题内容

Visual Studio 2017中是否有一种方法可以自动为asp.net核心 Angular
项目启用Docker支持?创建新选项时,该选项被禁用。它仅适用于 Web应用程序(MVC)

创建项目后,我可以为角度项目启用Docker支持(项目->添加-> Docker支持),但是当我启动应用程序时,出现一个异常,提示node.js不可用。

发生System.AggregateException HResult = 0x80131500 Message
=发生一个或多个错误。(无法启动Node进程。要解决此问题:。

[1]确保已安装Node.js,并且可以在PATH目录之一中找到它。当前的PATH环境变量为:/ usr / local / sbin:/ usr /
local / bin:/ usr / sbin:/ usr / bin:/ sbin:/
bin确保Node可执行文件在这些目录之一中,或者更新您的目录路径。

[2]有关原因的更多详细信息,请参见InnerException。)
Source =
StackTrace:位于Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder
appBuilder,WebpackDevMiddlewareOptions选项)上System.Threading.Tasks.Task`1.GetResultCore(Boolean
waitCompletionNotification)处。 ),位于C:\ Users \ temp \ Documents \ Visual
Studio 2017 \ Projects \ WebApplication3 \
Startup.cs:第34行中的WebApplication3.Startup.Configure(IApplicationBuilder应用程序,IHostingEnvironment
env)

内部异常1:InvalidOperationException:无法启动Node进程。解决此问题的方法:

[1]确保已安装Node.js,并且可以在PATH目录之一中找到它。当前的PATH环境变量为:/ usr / local / sbin:/ usr /
local / bin:/ usr / sbin:/ usr / bin:/ sbin:/
bin确保Node可执行文件在这些目录之一中,或者更新您的目录路径。

[2]有关原因的更多详细信息,请参见InnerException。

内部异常2:Win32Exception:没有这样的文件或目录

如果无法自动创建,如何手动为Angular项目启用Docker支持?


问题答案:

我解决了我的问题。

我还需要在映像上安装nodejs,因为webpack需要它。我已将Dockerfile更改为也安装nodejs版本6

FROM microsoft/aspnetcore:2.0
RUN apt-get update && \
    apt-get install -y wget && \
    apt-get install -y gnupg2 && \
    wget -qO- https://deb.nodesource.com/setup_6.x | bash - && \
    apt-get install -y build-essential nodejs
# Rest of Dockerfile

仅使用RUN apt-get update&&apt-getinstall-ynodejs还不够,因为这会安装nodejs的第4版,并且已将其安装在folder中nodejs,因此WebpackDevMiddleware未找到该节点的可执行文件。



 类似资料:
  • 在 Angular 项目在实际运用中,我们的项目需要根据不同的开发要求,对接不同后端 API。怎么通过单一的 Docker image 实现对接不同的后端 API 呢? 这里我们给出了答案:Angular 应用根据环境变量切换不同的后端 API。 但是这样做导致了 Docker 启动时要经过一段时间的前端项目的构建,牺牲了 Docker 秒级启动的特性。针对此,我们继续对这个流程进行优化。做到 D

  • 我有一个项目不是使用创建的(相反,我遵循了快速入门指南)。当我在项目中运行angular CLI命令(如)时,我会得到以下错误消息: 有什么方法可以把我现有的项目变成angular-cli项目吗?(我想尝试使用它,因为它显然自动解决了桶导入和SystemJS的问题。)

  • 我已经在plugins.sbt文件中添加了sbt-native-packager,1.3.15版。在build.sbt文件中,我使用了enablePlugins(DockerPligin)。当我在sbt shell上运行以下命令时,遇到以下错误: 错误-->

  • 有一天,我在Angulation4中创建项目,我想再次这样做,但在新版本的Angular上。 我所做的: 1.)安装Visual Studio代码。 2.)安装NodeJS:Node版本为10.15.1Npm版本为6.4.1 我做错什么了?我忘了什么事还是我不知道什么重要的事?我在控制台/日志中没有任何警告或错误。我应该做什么,让我的项目在Chrome浏览器下的localhost:port?

  • Docker Compose 项目 Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。 本章将介绍 Compose 项目情况以及安装和使用。 1、简介 Compose 项目目前在 Github 上进行维护。 Compose 定位是“defining and running complex applications wit

  • 项目使用 nuxt2 写的, 现在进行了 npm run build 打包, 想在生产环境中使用docker部署,部署方式如下 上传项目 将打包后的 .nuxt, static, nuxt.config.js, package.json, node_modules上传至服务器 /home/wwwroot/default 下 (nginx等的配置略) 在项目目录创建启动文件 ecosystem.co