【问题标题】:Angular cli service generation: service is generated in root instead of /servicesAngular cli 服务生成:服务是在根目录而不是 /services 中生成的
【发布时间】:2017-02-16 06:11:21
【问题描述】:

我有点搞乱 Angular。试图用 angular-cli 生成一些东西。但是在生成新服务时,该服务被放置在"/src/" 文件夹中。

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

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

【问题讨论】:

    标签: angular angular-cli angular-services


    【解决方案1】:

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

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

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

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

    ng g s service-name
    

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

    注意: 我目前正在运行 Angular/Angular CLI 10.2.0 版。虽然我在以前版本的 Angular 中也使用过这种方法,但是如果你运行的是旧版本,这个功能可能/可能不存在。

    【讨论】:

      【解决方案2】:

      ng 从 src/app 生成服务,因此在调用 ng 时不要将其添加到路径中

      正确的用法是(从你的项目根路径,angular.json 所在的位置):

      ng generate service [path to your component]/[service name]

      【讨论】:

        【解决方案3】:

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

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

        2. 要生成服务,

        ng generate service serviceName

        或短

        ng g s serviceNam

        【讨论】:

          【解决方案4】:

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

          ng generate service services/Test
          

          按照下面的评论,您可能需要先运行:

          ng generate module services
          

          或

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

          【讨论】:

          • 这给出了一个错误:无效的路径:“C:\......\src\app\services””不是一个有效的路径。
          • 您可以执行以下操作之一:1) ng generate module services 2) mkdir src/app/services(对您来说可能是 mkdir src/services)。第一种方法更好,但仅适用于最新的 cli 版本。
          猜你喜欢
          • 1970-01-01
          • 2019-01-05
          • 1970-01-01
          • 1970-01-01
          • 2021-07-31
          • 2020-05-16
          • 1970-01-01
          • 2013-04-21
          • 2019-08-03
          相关资源
          最近更新 更多