问题标签 [angular-schematics]

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 投票
4 回答
2385 浏览

angular - Angular Schematics 相对路径

我想为 Angular 创建一个自定义原理图,它将在与执行原理图相同的目录中创建一个文件。我关注了这篇文章,但我不确定如何将新文件添加到所需的目录中。(https://developer.okta.com/blog/2019/02/13/angular-schematics#create-your-first-schematic

例如,如果我有以下目录结构:

如果我确实执行以下命令:

我希望新创建/更新的文件位于 /src/app/modules/foo 目录而不是根目录中。想想 ng generate 是如何工作的。如果我ng g component bar从目录 /src/app/modules/foo 中执行,那么将在该目录中生成一个新组件。这是我需要复制的行为。

这里是我的工厂。现在它显然是针对根目录的,project.root但是我没有找到任何替代方法,如果我不提供路径,那么我会收到错误消息。如何获取当前路径(src/app/modules/foo)来存储options.path

0 投票
3 回答
1372 浏览

angular - Angular Schematics 提示数组类型

在设置我的原理图时,我看到我可以提示输入以下任何类型 String | 布尔值 | 数组 | 号码 | 整数 | 空 | 目的。

我正在尝试设置一个示意图,提示用户从可用模块列表中选择一个模块。因此,例如,用户会看到如下内容:

虽然有大量字符串和布尔提示的示例,但没有人提供我为数组提示找到的示例。对于我的生活,我无法弄清楚如何在数组中提供选项以提示用户从中进行选择,而这根本不会出现在他们的文档中。

0 投票
1 回答
159 浏览

angular - 使用 Nativescript Schematics 时未加载模块

我正在尝试使用 NativeScript Schematics 在 Angular Web 和移动应用程序之间进行代码共享。这是我的代码结构

代码结构

我已经在移动特定的 HTML 文件中使用了 [(ngModel)],并且我还在我的 authentication.module.tns.ts 中导入了 NgFormsModule,这是 NativeScript 特定的模块文件。但是,当我调试时,我没有看到 NativeScriptFormsModule 被加载。我在运行应用程序时也遇到了错误

这是我的 AuthenticationModule 代码(authentication.module.tns.ts)

请注意,我的导入和声明数组此时为空,是为了处理未来的导入。

我注意到的另一个奇怪的问题是,如果我直接导​​入 AuthenticationRoutingModule,那么它会正确加载。但是,如果我通过 importsDeclarations 导入它,它不会被加载。

同样,我也在使用 nativescript-localize 插件来本地化字符串。我创建了 src/i18n/en.default.ts 文件。但是我不断收到消息

'/project/src/i18n' 为空:没有可本地化的内容

我什至尝试将文件重命名为 en.default.tns.ts。然而没有运气。这两个问题看起来都像 nativescript-schematics 加载文件的方式。有人可以让我知道这里出了什么问题吗?

编辑

我对此问题进行了进一步调试,看起来这是由于 webpack 无法加载所需模块的问题。我有示例代码

https://github.com/phatakrajan/ns-codeshare-ui

0 投票
2 回答
979 浏览

angular - 自定义角度示意图:管道“dasherize”未定义。在角度项目上运行时

我使用角度原理图 cli 创建了一个简单的新原理图。该示意图将名称作为输入,并在树中生成一个文件。我的files/目录如下所示:

我已经构建了它,然后创建了一个新的 Angular 项目:

然后我 cd 进入 test-app 目录并链接到我的示例示意图:

然后我运行我的原理图:

但是,当我这样做时出现以下错误:

如果我将files目录中的文件名更改为test.ts它可以正常工作,并创建文件。我猜我缺少一些导入来使用我的测试应用程序项目中的各种原理图功能。我的依赖和开发依赖test-app看起来像:

0 投票
3 回答
663 浏览

angular - 编写 Angular 原理图模板时,“小写”的辅助函数是什么?

我正在按照这里的教程构建一个简单的角度示意图模板。一切顺利。本教程使用辅助函数 ( dasherize) 将文件名AwesomeWraphello-awesome-wrap.

我想在我自己的实现中更改此功能以简单地确保文件名是小写的,所以AwesomeWrap应该是awesomewrap.

但是,此功能似乎没有很好的文档记录(或者我找不到),并且我找不到可用功能的列表。我尝试创建一个文件view-__name@lowercase__.ts,但lowercase似乎没有可用的功能。

当我运行时schematics .:sensor --name=test,我收到错误消息:

错误:管道“小写”未定义。

那么正确的语法是什么?是否有可以以这种方式执行的可用转换列表?

0 投票
0 回答
247 浏览

node.js - 如何将节点导入语句添加到具有角度示意图的文件中?

我想要一个自定义原理图,它将在我的应用程序中创建一个页面。为此,我想使用现有的核心原理图创建一个路由模块,然后在该模块中创建一个组件来显示我的页面内容,最后将所有内容连接在一起。让我难过的是“将所有东西连接在一起”。我找不到关于“正确”方法的明确指导。我是不是该:

a) 直接修改“模块”和“组件”原理图创建的现有文件?(我不知道该怎么做)

b)使用模板以某种方式将修改合并到文件中?(我也不知道该怎么做)

以下是到目前为止我的页面示意图的 index.ts 文件。我不知道该怎么做,最后由“TODO”评论。

请帮忙!

0 投票
1 回答
333 浏览

angular - 如何扩展默认角度原理图“ng生成组件”

我需要为每个生成的组件生成额外的 stub-* 文件,以便在测试期间使用。我怎样才能做到这一点?我知道我可以通过复制默认原理图来创建自己的原理图,购买我可以避免这种情况并使用附加命令优雅地扩展默认原理图以生成与生成的组件同名的空 stub-* 文件吗?

0 投票
1 回答
653 浏览

angular - 创建一个新的 Angular 8 项目并没有给我选项

我正在创建一个新的 Angular 8 项目,我试图将样式表设置为SCSS并从项目开始创建角度路由。我知道我可以手动完成,但是在命令行中有选项菜单非常好。

但在 Angular 7 中,它给了我在命令行中选择的选项。如何将此添加回我的 Angular 8 CLI?

当我运行时,ng v我得到以下信息:

创建一个问题以防万一它是一个实际的错误:https ://github.com/angular/angular-cli/issues/14640

0 投票
0 回答
89 浏览

angular - 如何在角度示意图中格式化html代码?

我创建了一个自定义原理图,一切正常,但是 html 代码没有格式化。

生成的 HTML:

我怎样才能删除那些空白?我尝试修改 index.html 中的文件条目内容,但出现错误:

无法设置只有 getter 的 # 的属性内容

最好的方法是什么?

0 投票
1 回答
615 浏览

javascript - 角度示意图条件属性/提示

我正在创建自己的原理图。该原理图将负责创建带有一些代码的组件(容器)。该组件的模板将包含一些其他组件。该组件之一将是可选的横幅组件。此横幅将显示将翻译成其他语言的文本,因此如果横幅将包含在组件中,我还应该要求用户提供(默认)翻译文本。这是此模板的示例:

名称@dasherize .component.html.template

这是我的 schema.json:

我的问题是,当用户将 includeBanner 设置为 true 时,应该需要字段 bannerTitle 和 bannerDescription,如果没有提供这些属性,则应该显示提示,但是如果 includeBanner 为 false,则不应该需要 bannerTitle 和 bannerDescription 并且应该'如果未提供这些属性,则不会显示填充这些属性的提示。知道如何实现吗?