Угловые схемы: создание пользовательских папок и файлов дерева

#angular-schematics

#angular-schematics

Вопрос:

Я только что начал изучать схемы, моя первая задача — создать пользовательское дерево папок и пустых файлов, используя пользовательскую схему в моем приложении Angular

например :

я хочу сгенерировать это дерево:

 folderOne
|__ fileOne.ts
folderTwo
|__ fileTwo.ts
folderThree
|__ subfolderA
    |__ fileThree.ts
  

Конечно, это должно зависеть от исходного места запуска команды схемы

(относительный путь)

Есть ли какой-нибудь быстрый (шаблонный) способ сделать это?

Предложения??

Ответ №1:

В вашем шаблоне файлов

 __fistVariable@dasherize__
|__firstVariable@dasherize__.ts
__secondVariable@dasherize__
|__secondVariable@dasherize__.ts
  

ваша функция схемы:

 const templateSource = apply(url("./files"), [
  template({
  ..._options,
  ...strings
  })
]);
return mergeWith(templateSource)(tree,_context);
  

и в вашем schema.json

 "properties": {
    "one": {
      "type": "string",
      "description": "Variable 1",
      "$default": {
        "$source": "argv",
        "index": 0
      },
      "minLength": 1,
      "x-prompt": "Enter the entity name (camelCase || dasherized)"
    },
    "two":{
      "type": "string",
      "description": "Variable two",
      "$default": {
        "$source": "argv",
        "index": 1
      },
      "minLength": 1,
      "x-prompt": "Enter the entity name (camelCase || dasherized)"
    }
  },
  "required": ["one", "two"]