$schema
JSON Schema 是一个允许我们注解和验证JSON数据格式的工具。
我们可以在任何使用Angular cli创建的Angular应用的node_module对应路径下找到这个schema.json文件:C:\Code\SPA\sandbox\node_modules@angular\cli\lib\config\schema.json
比如我们编辑angular.json文件时,有些字段比如cli.packageManager为什么可以出现自动完成的提示:
是因为所有这些可选项都定义在schema.json文件里了:
又比如projecttype字段,有且只有application和library两种。
projects
sandbox就是我的应用名称,也是Angular应用的根目录名称。
schematics
指定该应用从Component层级统一使用scss作为style技术:
architect
ng serve的含义也能在schema.json里查到:Compile and Serve the app.
ng serve指向的目标是sandbox:build, 使用的builder为@angular-devkit/build-angular:dev-server:
做个试验,如果我把browserTarget改成sandbox:build2,
会报错:
An unhandled exception occurred: Invalid target: {“project”:“sandbox”,“target”:“build2”}.
See “C:\Users\I042416\AppData\Local\Temp\ng-dOBpdq\angular-errors.log” for further details.
除非把architect下的build也跟着改成build2才行:
这是我design time时的index.html文件,里面没有script标签页:
ng serve之后,打开的localhost里取回的html,里面多了很多script标签:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":