typescript - NX 是否可以自定义新的应用程序文件夹结构?
问题描述
我收到了一项任务,看看如何为新应用程序自定义文件夹结构,更准确地说,是嵌套应用程序。我进行了搜索,发现可以在 tools 文件夹下创建一个 lib 文件夹,并且按照模式,我可以使用generateFiles
from填充预先创建的文件结构@nrwl/devkit
。下面的示例显示了一个与 lib 一起使用的简单结构,其中将更改变量名称并使用名称中的“__ __”填充文件:
my-lib/
├── files/
├── mysql/
| ├── __originalName__.mwb
| └── schema.json
├── src/
├── index.ts__tmpl__
└── models.ts__tmpl__
好吧,首先,我想知道是否可以在仍然在内存中的情况下更改新的应用程序结构,然后才在磁盘上写入。
因此以 Nest 为例,一个新的 Nest 应用程序将如下所示:
├── src/
├── app.controller.spec.ts
├── app.controller.ts
├── app.module.ts
├── app.service.ts
├── main.ts
但是,让我们想象一下,我需要将app.controller.ts
and更改为一个新文件夹,并为每个新的 nest appapp.controller.spec.ts
创建一些其他文件。我还没有使用nest的经验。
├── src/
├── controllers/
├── app.controller.ts
├── app.controller.spec.ts
├── new.controller.ts
├── new.controller.spec.ts
├── app.module.ts
├── app.service.ts
├── main.ts
如果第一个问题是,我该如何实现?现在我正在尝试使用生成器。我运行npx nx generate @nrwl/workspace:workspace-generator app-nest
它给了我一个起点,但我不知道如何更改文件。
我的参考:https ://nx.dev/latest/angular/generators/workspace-generators/
解决方案
是的,你在正确的轨道上。您可以使用工作空间生成器来自定义虚拟树中的文件。生成文件后,无论是使用外部原理图还是使用模板(或两者),您都可以在生成器中对它们进行操作,仍然作用于虚拟文件系统。您可以尝试重命名树中需要移动的文件,并且可以从字符串或缓冲区写入文件。
推荐阅读
- postgresql - Postgres 函数 - 组合来自多个查询的对象数组
- regexp-replace - 正则表达式在多行文本中匹配字符后选择文本
- php - 如何使用相同的方法为相同的路由使用不同的可选中间件
- angular - 在动态添加行的表中,如何为Angular中的每一行创建不同的点击功能?
- hibernate - JPA中方法完成时如何更新数据库
- amazon-web-services - aws emr hive insert 语句给出错误为“辅助服务:mapreduce_shuffle 不存在”
- kotlin - 如何在 kotlin 中编写包含 mutex.withLock 的 getter 和 setter
- node.js - Node + vue js 用户离线/在线状态(服务器端)
- javascript - 单击按钮时,Ajax 不会中止
- excel - 获取运行时 1004:使用单元格时对象“_Worksheet”的方法“范围”失败