簡體   English   中英

如何刪除 NX 生成器中的文件

[英]How to delete a file in NX generator

根據https://nx.dev/recipes/generators/creating-files

生成器提供 API 用於管理工作區內的文件。 您可以使用生成器來執行創建、更新、移動和刪除文件等操作

可以刪除 NX 生成器中的文件。

我有以下生成節點應用程序的代碼,但我想刪除一些生成的文件。

import { readProjectConfiguration, Tree } from '@nrwl/devkit';
import { applicationGenerator } from '@nrwl/node'

export interface Schema {
  name: string
}

export default async function (tree: Tree, schema: Schema) {

  // create node application with name `schema.name`
  await applicationGenerator(tree, {
    name: schema.name
  })

  const projectRoot = readProjectConfiguration(tree, schema.name).sourceRoot
  if (!projectRoot) throw new Error(`${schema.name} is not a project found in project configuration`)

  // here I want to delete generated files:
  // apps/myapp/src/app/.gitkeep
  // apps/myapp/src/assets/.gitkeep
  // apps/myapp/src/environments/environment.prod.ts
  // apps/myapp/src/environments/environment.ts
}

Output

CREATE apps/myapp/src/app/.gitkeep
CREATE apps/myapp/src/assets/.gitkeep
CREATE apps/myapp/src/environments/environment.prod.ts
CREATE apps/myapp/src/environments/environment.ts
CREATE apps/myapp/src/main.ts
CREATE apps/myapp/tsconfig.app.json
CREATE apps/myapp/tsconfig.json
CREATE apps/myapp/project.json
CREATE apps/myapp/.eslintrc.json
CREATE apps/myapp/jest.config.ts
CREATE apps/myapp/tsconfig.spec.json

什么API是用來刪除文件的?

原來很簡單。

tree.delete(filePath)

就我而言,

  ...
  // Delete generated files:
  // apps/myapp/src/app/.gitkeep
  // apps/myapp/src/assets/.gitkeep
  // apps/myapp/src/environments/environment.prod.ts
  // apps/myapp/src/environments/environment.ts

  tree.delete(joinPathFragments(projectRoot, 'src/app'))
  tree.delete(joinPathFragments(projectRoot, 'src/assets'))
  tree.delete(joinPathFragments(projectRoot, 'src/environments'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM