相关疑难解决方法(0)

如何使用角度示意图覆盖文件?

我想写一个Rule每次都覆盖一个文件.在下面并MergeStrategy设置为Overwrite:

collection.json

{
  "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
  "schematics": {
    "function": {
      "aliases": [ "fn" ],
      "factory": "./function",
      "description": "Create a function.",
      "schema": "./function/schema.json"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

function/index.ts

export default function(options: FunctionOptions): Rule {
  options.path = options.path ? normalize(options.path) : options.path;
  const sourceDir = options.sourceDir;
  if (!sourceDir) {
    throw new SchematicsException(`sourceDir option is required.`);
  }

  const templateSource: Source = apply(
    url('./files'),
    [
      template({
        ...strings,
        ...options,
      }),
      move(sourceDir),
    ]
  )

  return mergeWith(templateSource, MergeStrategy.Overwrite);

}
Run Code Online (Sandbox Code Playgroud)

files/__path__/__name@dasherize__.ts

export function <%= …
Run Code Online (Sandbox Code Playgroud)

angular-cli angular angular-schematics

14
推荐指数
2
解决办法
3058
查看次数

标签 统计

angular ×1

angular-cli ×1

angular-schematics ×1