更改angular-cli项目中的目录结构

时间:2016-10-31 14:28:49

标签: angular angular-cli

我一直在使用angular-cli来决定是否要将此作为我们开始的新项目的基础。我们长期以来都是微软的商店,并且拥有大部分服务器方面的知识,因此我们正在尽最大努力了解客户端框架世界的细节。我们喜欢angular-cli项目,因为它的内置测试,捆绑,树摇动等等,保留这些功能是我的问题所在。我们反对需要更改默认目录结构。我们使用MVC来提供单个视图,该视图基本上是角度应用程序的index.html文件。如果我们使用标准的angular-cli项目文件夹结构执行此操作,则应用程序无法运行或构建,因为所有路径引用都在查找。\ src \ app ...

我需要知道的是我需要在angular-cli设置中进行哪些更改,以便cli的自动监视,构建,绑定,测试等功能继续与此新结构一起使用,或者,这是不是我们想要挖掘的东西,因为它将来会破裂吗?

Our folder structure:

2 个答案:

答案 0 :(得分:5)

angular-cli中有很多自定义选项,您可以通过更新angular-cli.json文件来执行相同操作。

    "root": "src",
    "outDir": "dist",
    "assets": [
        "assets"
      ],
      "index": "index.html",
      "main": "main.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.json",
      "prefix": "",
      "mobile": false,
      "styles": [

      ],
      "scripts": [

      ],
      "environments": {
        "source": "environments/environment.ts",
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }

大多数配置都是不言自明的,您可以使用它们来实现您的需求。

希望这会有所帮助!!

答案 1 :(得分:2)

你试过ng init --source-dir吗?

PS C:\Users\andre\Workspace\myproject> ng init --help

ng init <glob-pattern> <options...>
  Creates a new angular-cli project in the current folder.
  aliases: u, update, i
  --dry-run (Boolean) (Default: false)
    aliases: -d
  --verbose (Boolean) (Default: false)
    aliases: -v
  --link-cli (Boolean) (Default: false)
    aliases: -lc
  --skip-npm (Boolean) (Default: false)
    aliases: -sn
  --skip-git (Boolean) (Default: false)
    aliases: -sg
  --skip-tests (Boolean) (Default: false)
    aliases: -st
  --skip-commit (Boolean) (Default: false)
    aliases: -sc
  --name (String) (Default: )
    aliases: -n <value>
  --source-dir (String) (Default: src)
    aliases: -sd <value>
  --style (String) (Default: css)
  --prefix (String) (Default: app)
    aliases: -p <value>
  --routing (Boolean) (Default: false)
  --inline-style (Boolean) (Default: false)
    aliases: -is
  --inline-template (Boolean) (Default: false)
    aliases: -it