angular.json

// https://segmentfault.com/a/1190000016292354
// https://angular.cn/guide/workspace-config
{
  // 注解和验证JSON数据格式的工具
  // 比如可以自动填充属性或属性值
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  // 用来创建析工程的位置。绝对路径或相对于工作区目录的路径
  // 使用 ng generate application myDemo, 就会在 angular-dave/projects 目录下生成 myDemo 项目
  "newProjectRoot": "projects",
  // 这个属性包含了工作空间中所有项目的配置信息
  // 如果如上生成 myDemo, 那么在这里还有与 angular-dave 同一层级的 myDemo 的配置
  "projects": {
    "angular-dave": {
      // 该属性有 application 和 library 两种选择
      "projectType": "application",
      "schematics": {
        // 在项目级别统一进行配置
        // 比如在这里,配置了所有的 component 都使用 scss
        // 可试着查看其它的配置项,因为有 $schema, 会帮你自动补全相关属性
        "@schematics/angular:component": {
          "style": "scss"
        }
      },
      // 指定了项目文件的根文件夹,可能为空,但是它指定了一个特定的文件夹
      // 如果如上生成 myDemo, 那么 myDemo 的如下几个属性值路径会有所不同
      "root": "",
      "sourceRoot": "src",
      // 当CLI创建 `component`或者`directive`时,使用该属性 来区别他们
      "prefix": "app",
      // 为本项目的各个构建器目标配置默认值
      "architect": {
        // 为 ng build 命令的选项配置默认值
        "build": {
          // 每个目标对象都指定了该目标的 builder,它是 architect (建筑师)所运行工具的 npm 包
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/angular-dave",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": false,
            // 包含一些用于添加到项目的全局上下文中的静态文件路径
            // 每个 build 目标配置都可以包含一个 assets 数组,它列出了当你构建项目时要复制的文件或文件夹。
            // 默认情况下,会复制 src/assets/ 文件夹和 src/favicon.ico
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            // 包含一些要添加到项目全局上下文中的样式文件(即全局样式)
            "styles": [
              "src/styles.scss"
            ],
            // 包含一些 JavaScript 脚本文件,用于添加到项目的全局上下文中。
            // 这些脚本的加载方式和在 index.html 的 
                    
                    

你可能感兴趣的:(angular.json)