问题标签 [angular-cli-v8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1879 浏览

angular8 - 通过 ngc TypeError 编译 TypeScript 源:无法读取未定义的属性 'directoryExists'

从 Angular CLI 1.7.0 更新到 Angular 8。

让一切在本地工作,但在“npm packager”步骤中构建定义失败。

最初在缺少 tstickle 时出错,在将其添加到 package.json 后,“tsickle”:“0.39.1”

2020-09-24T21:15:41.5201500Z 通过 ngc 编译 TypeScript 源 2020-09-24T21:15:41.5201643Z 2020-09-24T21:15:41.5201764Z 构建错误 2020-09-24T21:15:41.52018Cannot8Error读取未定义的属性“directoryExists”

包.json:

任何解决此问题的建议将不胜感激。

0 投票
1 回答
602 浏览

angular - Angular 8 应用程序通过 https 访问本地主机上的代理 Spring Boot 应用程序

我编写了一个 Spring Boot 后端和一个 Angular 8 前端,我将它们打包在一起。因此,在部署时,两者都使用相同的端口,并且效果很好。

在开发过程中,我希望这两个应用程序分别运行并设置如下:

应用程序.yml

DataRestController.java

数据服务.ts

为了让前端能够连接到后端,我在我的package.json文件中定义了以下命令:

proxy.conf.json

这一切都完美无缺。我可以将浏览器指向http://localhost:10000/api/data并将接收 JSON 格式的数据。前端的请求http://localhost:4201/api/data被透明地转发到后端 URL,我的 Angular 应用程序接收它的数据。

但是,现在我想切换到通过 https 进行安全通信。我采取了以下步骤:

我生成了一个带有密钥对的 PKCS12 文件,然后从中提取了私钥和证书:

我将 PKCS12 文件复制到/src/main/resources/keystore/data.p12我的后端,将另外两个文件复制到/ssl/data.*我的前端。

我将以下行添加到我的 * application.yml

我还添加了一个SecurityConfig.java文件

如果我现在启动我的后端应用程序,它不再响应httpURL,但它确实响应https://localhost:10000/api/data(我第一次尝试此操作时必须告诉 firefox 接受自签名证书,但之后它可以完美运行)。

现在是我的麻烦开始的地方,当我尝试前端通过 https 与后端交谈时 :-(

我将以下脚本添加到package.json

并创建了一个新文件proxy-secure.conf.json

当我运行start-ssl我的应用程序时https://localhost:4201,它现在可以在浏览器中正常加载。但是,当 Angular 应用程序想要访问时,https://localhost:4201/api/data我在控制台中收到以下错误,并且浏览器显示该请求返回了 HTTP 状态 500。

经过一番谷歌搜索后,我偶然发现了 github 上的这个对话,并按照那里给出的各种建议,我尝试了以下方法:

我还更改了文件扩展名,所以文件现在是proxy-secure.conf.js

这会在应用程序启动时产生以下输出:

但是,只要前端尝试访问后端,我仍然会收到相同的错误:

我的想法不多了,谷歌也没有帮助。我无法想象我是第一个尝试这种设置的人。反正有没有告诉角度代理不关心我的自签名证书或告诉它信任该证书?

如果我执行 ang build --prod和 a mvn clean install(这要归功于maven-resources-plugin将前端的dist文件夹复制到classes/staticchar 中,然后使用java -jar data-0.0.1-SNAPSHOT.jar一切正常运行 Spring Boot 应用程序:

我可以使用浏览器访问https://localhost:10000/api/data并获取我的 JSON 原始数据来访问数据。我也可以去https://localhost:10000/启动我的 Angular 应用程序,它通过 https 直接访问上面的 JSON 数据没有任何困难。

所以我的设置在生产中工作,但我无法让它在我的开发配置中使用角度代理运行。


编辑:报告有关尝试链接到的 SO 文章 Berk Kurkcuoglu 中的建议

据我所知,那篇文章描述了如何启用SSL(我对此没有任何问题),但仍然值得一试:

我已将以下内容添加到我的angular.json

这样做的效果是我可以在 package.json 中的条目中保留--ssl --ssl-cert <cert> --ssl-key <key>参数ng serve,但代理仍然会抛出相同的错误。

0 投票
1 回答
1011 浏览

javascript - 关键依赖:依赖的请求是一个表达式(Angular CLI 警告)

在这里,我试图在惰性路由模块中动态加载惰性子路由。

例如:

然后,我将在控制台中收到以下警告:

此外,当我尝试通过应用程序访问财务模块时,我会在浏览器控制台中收到以下错误:

项目环境:

有什么办法可以做到这一点?

感谢您的时间和考虑。

0 投票
1 回答
153 浏览

office-js - 带有 Angular CLI 8.2 的 Office Word 插件 - 出现未处理的导航错误

我正在尝试在使用 Angular CLI 8.2 构建的 Office word 插件中运行一个简单的应用程序。此应用程序有一个带有链接的主页。该链接应该路由到另一个组件。路由在 Edge 和 IE 11 中有效,但在 word 插件中无效。在 word 中加载应用程序时。我看到主页,但在开发人员工具中看到此错误,没有详细信息。当我点击链接时,它什么也没做。我认为由于以下错误,角度路由不起作用。

操作系统:Windows 10,Microsoft Word:2016 (16.0.5110)

在此处输入图像描述

这是我的 package.json

tsconfig.json

我已将目标从“es2015”更新为“es5”,以使其在 IE 中工作。否则它会显示一个空白页。

app.module.ts

app.component.html

为了安全起见,我添加了带和不带斜线的路线。两个链接都不起作用。它根本没有做任何事情。

load.component.html

索引.html

polyfills.ts

应用程序路由.module.ts

我已经尝试了我可以在网上找到的任何东西,但无法解决问题。

更新

我删除了所有不必要的代码,并在添加以下代码行后立即发现,我看到导航错误:

这是清单文件中的 URL。

0 投票
0 回答
135 浏览

javascript - core.js?09c9:4002 错误 RangeError: zone.js / Angular CLI - 8.3.29 版本中超出了最大调用堆栈大小

从 Angular 7 迁移到 8 版本更新。导航到表单页面后出现此错误。用户无法访问表单页面。

尝试通过将 zone.js 版本降级到 0.8.18,0.8.17,0.8.16 来修复最新版本。但我无法解决这个问题。

0 投票
1 回答
261 浏览

typescript - 订阅数据时如何转换事件以返回 HttpEventType.Response?

我在 Angular 8 上工作我遇到问题我无法在订阅数据以获取进度条上传时将事件转换为返回 HttpEventType.Response

组件服务

组件类型脚本

event.type 总是在调试器上返回“text/plain”并且事件是 BLOB 所以如何将它转换为返回 HttpEventType.Response

更新原帖

我尝试如下:

图像问题

我得到的错误是

响应头

0 投票
0 回答
198 浏览

typescript - 错误无法在“URL”上执行“createObjectURL”:重载解析失败

我在 angular 8 上工作,我在保存 excel 文件时遇到问题

上传文件进度时

我收到如下错误:

我尝试什么:

我得到如下结果错误:

结果

那么如何解决上述错误?

0 投票
1 回答
40 浏览

node.js - 安装旧版本 angular cli 的问题

我需要安装旧版本的 angular cli。当我使用:

出现此错误:

npm 错误!代码 ETARGET npm 错误!notarget 找不到与 angular-cli@8.3.23 匹配的版本。npm 错误!notarget 在大多数情况下,您或您的依赖项之一正在请求 npm ERR!notarget 一个不存在的包版本。

我的旧节点版本是 v12.14.1

我可以做些什么来安装这个版本的 angular-cli?