问题标签 [angular-compiler-cli]

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 投票
1 回答
1017 浏览

angular - Angular - 如何使用 ngc -w 导入 scss 变量文件?

FooComponent有一个.scss附有文件的,这行得通。

但是,当尝试从驻留在 中的外部库导入变量文件时node_modules,会引发错误。

在我的.scss文件中,我这样做:

但是当我运行ngc -w tsconfig-aot.json它时会抛出:

奇怪的是,如果我这样做ngc -p tsconfig-aot.json(注意-p而不是-w),那么它就可以工作。

为什么会这样?

0 投票
1 回答
52 浏览

css - Angular5 应用程序根据组件有条件地加载脚本和样式

我的 Angular 应用程序由基于公共和私人页面的 2 部分组成: 1- 登录页面(登录前) 2- Dashbaord 和其他页面(对于授权用户)

登陆页面组件包含注册/登录功能和一些其他静态 html 元素。

两者都是独立的组件并且具有不同的样式。我已经在它自己的样式文件中提到了登陆页面的样式。

登录后用户可以访问多个页面,包括仪表板、用户页面等,它们共享共同的样式,它们也有共同的组件,如标题、侧边栏等,因为它们都共享相同的样式,我将不得不在应用程序组件中提及它,以便它自动继承所有样式。

如何将其余页面样式与登录页面分开?

处理这种情况的投注方法是什么?

PS:我也在考虑在同一个项目下创建单独的应用程序,这种方法是否与使用 angular cli 处理多个应用程序 相关?

0 投票
1 回答
1557 浏览

angular - Angular 组件输入静态类型

我有 2 个角度分量。

ButtonComponent输入类型为ButtonText

MainComponent它使用按钮并将输入传递给它:

问题 - 如果我将错误类型的参数传递给输入。ng build不返回任何错误或警告。我已经尝试了[在角度文档中]描述的很多可能的角度编译器标志:(https://github.com/angular/angular/blob/master/aio/content/guide/aot-compiler.md#compiler-options

问题:如何在编译过程中实现静态类型检查?或者也许有任何静态分析工具可以实现这一点,例如模板 linter?

0 投票
1 回答
268 浏览

angular - Angular 6、ngc、AOT、Angular 路由器、router.ngfactory 和 SystemJS

我有一个简单的 Angular 6 应用程序,我正在尝试使用 AOT 进行编译。 我没有使用 Angular CLI。我有一个自定义生成器,它为我的项目启动搭建脚手架,并为我的组件、服务等搭建脚手架。

在 AOT 之前,一切都按预期工作。当我运行 ngc 来编译我的 Angular 应用程序时,一切都编译没有错误。但是,当我检查编译的 ngfactory javascript 文件时,我会从 node_modules 目录中看到 @angular/router/router.ngfactory 的引用。我似乎无法在任何地方找到此文件。

我的配置如下:

  • 节点 v.10.10.0
  • 角度 v.6.1.2
  • 打字稿 v.3.1.1
  • SystemJS v 0.21.4
  • 吞咽 v.3.9.1

我创建了一个示例存储库来复制该问题。

该仓库位于SlyGenerator.DemoWithAOT

要使用 JIT 正常启动应用程序,请运行以下命令“npm run start-dev”

重现错误

  • 我运行“node_modules/.bin/ngc -p ./src/assets/ts/tsconfig.aot.json”这会在根级别生成一个带有 ngfactory 文件的“dist”文件夹。
  • 然后我将 dist 文件夹的内容复制到 ./app/assets/js/ (这允许我在不捆绑或缩小的情况下测试生成的代码。
  • 接下来我修改我的 system.config.js 文件以使用 Main.aot.js 文件而不是 Main.js 文件。System.config.js 文件位于 .app/assets/config/system.config.js

此时我收到以下错误:

语法错误:意外的令牌 <

我可以将 system.config.js 文件切换回原始文件,并且一切正常。

0 投票
0 回答
585 浏览

node.js - 在 Angular 7 中找不到“AppModule”的 NgModule 元数据

介绍

我正在尝试创建自己的自定义平台以在 Angular 7 中使用。基本思想是提供一个用于渲染到终端的平台。这是我目前所在的位置:

编码

平台控制台/控制台渲染器.ts

(或多或少基于 Victor Savkin 非常出色的教程:Angular Renderers 实验

平台控制台/console.ts

(松散地基于Angular 提供的平台

main.ts

(在我的测试应用程序中)

app.module.ts

(在我的测试应用程序中)

我正在使用 angular-build:server 构建器,因为它似乎是其中最直接的一个。在使用 CLI 启动一个全新的 Angular 应用程序后,其他所有内容几乎都是您所得到的。

错误

一切都很好地编译成一个 main.js 文件,但是当我运行它时,我得到一个错误:

我在这里想念什么?为什么我的元数据没有进入编译包?

我想知道是不是因为我正在使用 JitCompiler,也许服务器构建器将我的文件视为 Aot... 如果是这种情况,我如何创建和使用 AotCompiler 而无需从刮?

笔记

仅使用填充到 platformServer 中的渲染器,我就能够成功运行,但我无法从组件内部访问 Node(我想那里有一些浏览器沙箱在起作用)。这是一个交易破坏者,因为我打算实现与操作系统的节点级接近性与 Angular 等人提供的所有动态/反应性优点的梦想组合。最终,我想用一个合适的 EventManager 来扩展这个新生平台,该 EventManager 由 Node 的事件以及人们期望在终端内拥有的任何其他服务驱动。

我发现很难找到有关在这层 Angular 中工作的信息。

感谢您的时间。

0 投票
2 回答
97 浏览

angular - 发布 dotnet core 应用时抛出错误

我正在尝试使用 Angular 发布 dotnet core 2.2 应用程序。

在发布期间,我收到以下错误:

我尝试修复版本,运行 npm install 和 npm update。但老实说,我不明白问题出在哪里。

我尝试使用以下命令发布:

发布作品没有错误。

0 投票
1 回答
77 浏览

angular - 如何知道 Angular 编译的 /dist 是否与 /src 中的源代码匹配?

我有一个已编译的“dist”文件夹,我想知道它是否与源代码匹配或者是不同的版本。我该怎么做?

0 投票
0 回答
169 浏览

angular - Angular 9:无法在 v9.1.0 中构建依赖于其他 Angular 库的 Angular 库

我正在将我的 Angular 库升级到版本 9,在我的项目中我使用 Angular v9.1.0。

我的库依赖于另一个内部 Angular 库。当我尝试构建我的库时,我得到了以下错误:

我检查了依赖库的代码,它是用 angular v9.0.5 开发的。

我的理解是角度/核心对这种方法的定义在 v9.1.0 和 v9.0.5 之间发生了变化。

我检查了 Angular 的变化,并确认了我的猜测和方法的变化。

仍然让我感到困惑的是为什么会发生上述问题。

我的理解是Angular库在构建和发布的时候,编译后会生成一些文件,在文件里面会导入angular/core的API,API会根据构建时Angular的版本.

在我的例子中,依赖库是用 v9.0.5 构建的。但我的图书馆使用 v9.1.0。这就是上述错误的原因。

我的理解正确吗?

0 投票
1 回答
2947 浏览

angular - 安装角度编译器的问题

我一直在花费数小时试图弄清楚尝试运行基于角度的项目有什么问题。节点版本:v12.16.1

  1. 在我的项目目录中,我做了 npm install -g @angular/cli@8.3.26

  2. 完成此操作后,当我输入命令 ng build --prod 时出现错误发生未处理的异常:找不到模块“@angular-devkit/build-angular”

  3. 然后我做了 npm install --save-dev @angular-devkit/build-angular 安装中有一些东西提到:

“未满足的对等依赖@angular/compiler-cli@^8.0.0”

7 (node_modules\webpack-dev-server\node_modules\chokidar\node_modules\fsevents):npm WARN notsup 跳过可选依赖:fsevents@1.2.13 不支持的平台:想要 {"os":"darwin","arch":" any"} (current: {"os":"win32","arch":"x64"}) npm WARN @angular-devkit/build-angular@0.803.26 需要 @angular/compiler-cli@^ 的同级8.0.0 但没有安装。npm WARN @ngtools/webpack@8.3.26 需要 @angular/compiler-cli@^8.0.0 的对等点,但没有安装。26 需要 @angular/compiler-cli@^8.0.0 的对等点,但没有安装。npm WARN @ngtools/webpack@8.3.26 需要 @angular/compiler-cli@^8.0.0 的对等点,但没有安装。26 需要 @angular/compiler-cli@^8.0.0 的对等点,但没有安装。npm WARN @ngtools/webpack@8.3.26 需要 @angular/compiler-cli@^8.0.0 的对等点,但没有安装。

  1. 当我再次运行 ng build --prod 时,这次我得到了以下错误:发生未处理的异常:找不到模块'@angular/compiler-cli'

我在这里想念什么?:(

0 投票
1 回答
273 浏览

angular8 - Angular 8 编译问题

我在编译 Angular 8 应用程序时遇到问题:

编译项目时,它将停留在最后一行,报告 92% 的额外资产处理由copy-webpack-plugin.

请帮我解决这个问题。