问题标签 [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.
node.js - 角度路由静态路径未经许可直接访问url
我正在尝试使用 java 8、spring boot、Spring MVC 和带有 angular cli 的前端来修复 Web 应用程序中的错误。当用户登录应用程序并创建一个考虑用户配置文件权限的菜单时,使用 java,但应用程序使用具有静态路径的角度路由器,因此如果用户重写 URL,即使没有权限,他也可以访问任何内容。
angular - Angular CLI 8 更新 - 不再以基本 href 为前缀的 URL
问题
将我们的 Angular 应用程序更新到版本 8(包括 Angular CLI)后,URL 不再以文件中提供的基本 href 作为前缀angular.json
,这实际上破坏了我们的应用程序
以前的期望行为
在本地提供应用程序的法语版本时,打开网页localhost:8000
会将我重定向到localhost:8000/fr
,并且我可以从应用程序内导航到的每个 URL 也将以/fr/
.
新的错误行为
在本地提供应用程序的法语版本时,打开网页localhost:8000
会导致空白页面显示Cannot GET /
,因为/fr
缺少 。当我立即打开页面时localhost:8000/fr
,我可以看到登录页面,但是由于我们的登录流程涉及第三方,当我从所述第三方返回我们的应用程序时,我只看到一个空白页面说Cannot GET /login
(因为/fr/
缺少) .
到目前为止我尝试过的(非详尽列表,但两种最有希望的方法)
- 在提供程序中提供一个
APP_BASE_HREF
DI 令牌,该令牌AppModule
将LOCALE_ID
用作其值并baseHref
从配置中删除设置angular.json
。这在“某种程度上”起作用,因为我被重定向localhost:8000
到 eglocalhost:8000/fr/
,但它也会导致不需要的重定向,因为我假设路由查找逻辑发生在注入基本 href 令牌之前,因此它无法识别 URL 并重定向到默认路由。 - 在配置中提供一个
deployUrl
值angular.json
,但无济于事。
类似问题
https://github.com/angular/angular-cli/issues/14925基本上是完全相同的问题。不幸的是,所有此类问题都已关闭,但没有提供有关如何恢复旧行为的实际解决方案。
node.js - Angular 8 - 通过 USB 提供时获取 styles.js net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
我ng serve
用来在本地运行 Angular 8 项目。包的总大小约为 7 MB,它可以在托管它的桌面计算机上轻松加载。
但是,当通过 USB 连接手机并使用端口转发(对于 localhost:4200)时,网站经常无法完全加载。Chrome 报告的错误是:
此错误已记录在https://github.com/angular/angular-cli/issues/7197中,现在标记为已解决。但是,即使 Angular CLI 和 NodeJS 都是最新的(Angular CLI v8.3.18 使用 Node v10.15.0),错误仍然存在。这似乎是由 Angular Live 开发服务器在为其资产提供服务时超时引起的。
它是随机发生的,但尤其是在代码更改之后,它可能会在 90% 以上的时间内发生。重新加载站点并重新运行ng serve
通常不会解决问题。它似乎更频繁地出现在 Chrome 以外的浏览器上。
如果错误是由 Angular 开发服务器中的超时引起的,我该如何增加该超时?如果没有,我该如何防止这个错误?
angular - ng add @angular/pwa - 无法读取未定义的属性“长度”
我正在尝试将 PWA 功能添加到 Angular 8 项目中(使用 生成ng new
)。
得到错误:
有什么想法吗?
(其余ng
命令工作正常,我可以提供服务,构建生产广告等等)
angular - 如何从 index.html 在 Angular 8 应用程序中动态定义“base href”?
如何从 index.html 在 Angular 8 应用程序中动态定义“base href”?
之前我用过--base-href
,现在不支持了。
angular - Angular 8,agm api,./node_modules/@agm/core/fesm5/agm-core.js 4538:34-52 中的警告
我目前正在从事 Angular 8 的项目。我试图建立一个谷歌地图 API 并完成:
我得到的错误是:
版本:
据我所知,这是由于 Angular 改变了 eeinject 和 eefineInjectable
任何帮助将不胜感激
css - 如何在 FOLDER 中包含所有全局样式?
我已经阅读了关于 Angular CLI 和全局样式以及相关文档的十几个相关问题,但我似乎无法找到如何包含样式文件夹。
我的项目仍然有生成的styles.scss
文件。我创建了该文件夹src/styles/
,但不希望为该文件夹(和嵌套文件夹)中的每个文件添加 SCSS 导入。中的styles
属性angular.json
似乎不支持文件夹或通配符。
我正在迁移一个大型 AngularJS 项目,我们有许多全局样式文件。虽然其中一些文件可以用组件范围的样式替换,但其中有不少是用于指令属性之类的,我不知道有什么更好的方法来编写它们。
是否可以包含一个全局样式文件夹,而无需为每个文件单独导入?
angular - Angular CLI E2E 测试错误的 ChromeDriver
我正在使用角度 CLI。我创建了它:
然后我尝试运行端到端测试:
我收到以下错误消息:
问题似乎是我在一台 chrome 版本受到限制并且在 chrome 78 而 angular 使用 chrome 79 的计算机上。我需要某种方式告诉 angular 使用 chrome 78 的驱动程序。我尝试通过设置来执行此操作带有 webdriver-manager 的版本,但这不起作用。无论如何,这个模块甚至不在我的 packages.json 中。
看看我尝试了什么:
如何让这个错误消失?感谢您的任何帮助,您可以提供。
这是我的版本信息:
- 操作系统:Windows 10
- 节点:12.13.1
- NPM:6.13.2
- 角度:8.2.14
- 角 CLI:8.3.21
这是我的packages.json: