Angular cli 服务生成:服务是在 root 而不是 /services 中生成的

Angular cli service generation: service is generated in root instead of /services

我在 Angular 上弄乱了一点。尝试使用 angular-cli 生成一些东西。但是在生成新服务时,该服务位于 "/src/" 文件夹中。

我想为此设置一个全局默认文件夹。是否有配置设置,我可以在其中执行以下操作:{ servicesDir: "/src/services/" }?

我正在使用 ng generate service Test 作为命令。

cli 可以获取一个目录,在最新版本中它也是一个模块,因此使用:

ng generate service services/Test

根据下面的评论,您可能需要先 运行:

ng generate module services

mkdir src/services (or src/app/services, depending on your file structure)

按照以下步骤使用命令行生成服务。

  1. 转到服务文件夹 cd src/services

  2. 生成服务,

ng generate service serviceName

或短

ng g s serviceNam

ng 从 src/app 生成服务,因此在调用 ng

时不要将其添加到您的路径中

正确的用法是(从您的项目根路径,其中 angular.json 是):

ng 生成服务 [组件路径]/[服务名称]

我知道这个 post 有点旧,但这里的答案仍然需要您记住传递带有特定路径的生成命令。但是,实际的请求似乎是设置某种预先设置或预定义的路径,以便默认情况下在所需路径中生成所有服务。

这可以通过在位于应用程序根目录的 angular.json 文件中修改所需的 @schematics 对象来实现。具体来说,针对此请求您将进行以下修改:

"@schematics/angular:service": {
      "path": "src/services"
    }

它位于“项目”> [应用程序名称] > “示意图”下。进行此更改后,您只需 运行:

ng g s service-name

它会在所需的文件夹中创建您的服务。

Note: I'm currently running Angular/Angular CLI version 10.2.0. Though I've used this method in previous versions of Angular as well, but if you're running a much older version this feature may/may not exist.