{"id":15686398,"url":"https://github.com/wellwind/ngtw19-schematics-workshop","last_synced_at":"2025-08-09T06:04:25.276Z","repository":{"id":38660944,"uuid":"218316750","full_name":"wellwind/ngtw19-schematics-workshop","owner":"wellwind","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-07T11:19:25.000Z","size":1959,"stargazers_count":9,"open_issues_count":27,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T11:29:47.253Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wellwind.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-29T15:13:10.000Z","updated_at":"2019-12-15T13:24:13.000Z","dependencies_parsed_at":"2023-02-07T00:45:15.613Z","dependency_job_id":null,"html_url":"https://github.com/wellwind/ngtw19-schematics-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellwind%2Fngtw19-schematics-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellwind%2Fngtw19-schematics-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellwind%2Fngtw19-schematics-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wellwind%2Fngtw19-schematics-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wellwind","download_url":"https://codeload.github.com/wellwind/ngtw19-schematics-workshop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251348279,"owners_count":21575252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T17:39:30.558Z","updated_at":"2025-04-28T16:46:56.573Z","avatar_url":"https://github.com/wellwind.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Angular Taiwan 2019 - Schematics Workshop\n\n## 前置準備\n\n### 安裝 schematics cli\n\n```shell\nnpm install -g @angular-devkit/schematics-cli\n```\n\n### 開發工具\n\n- [Visual Studio Code](https://code.visualstudio.com/)\n- [Schematics Snippets](https://marketplace.visualstudio.com/items?itemName=MikeHuang.vscode-schematics-snippets)\n- [Angular Extension Pack](https://marketplace.visualstudio.com/items?itemName=doggy8088.angular-extension-pack)\n\n## 建立新的 schematics 專案\n\n建立空白專案\n\n```shell\nschematics blank --name=hello-world\n```\n\n建立包含基本範本的專案\n\n```shell\nschematics schematic --name=hello-world\n```\n\n## Schematics 基本觀念\n\n- 所有的檔案系統都會被當成是一個 `Tree`，我們要做的就是修改這個 `Tree` 的結構，並將最終 `Tree` 的結果合併回原始檔案系統。\n\n- 修改 `Tree` 的結構的程式，我們稱為 `Rule`\n\n- [@angular-devkit/schematics 所有內建 Rule 的程式碼](https://github.com/angular/angular-devkit-schematics-builds/tree/master/src/rules)\n\n## 練習\n\n練習 1~3、5 請在 schematics 目錄內練習，練習 4 請在 exercise4 目錄內練習，練習 6 先在 schematics 目錄內完成後，到 exercise6 看結果。\n\n- [練習 1: Hello World (建立檔案練習)](schematics/src/hello-world/README.md)\n- [練習 2: 設定選項](schematics/src/exercise-2/README.md)\n- [練習 3: 使用範本產生檔案](schematics/src/exercise-3/README.md)\n- [練習 4: 整合 ng generate 指令](exercise4/README.md)\n- [練習 5: 安裝第三方套件 (更新 package.json)](schematics/src/exercise-5/README.md)\n- [練習 6: 執行第三方 schematics](schematics/src/exercise-6/README.md)\n\n## Resources\n\n- [@angular-devkit/schematics 文件](https://github.com/angular/angular-devkit-schematics-builds)(還不太完整，但可參考)\n- [Angular CLI Schematics](https://github.com/angular/angular-cli/tree/master/packages/schematics/angular)\n- [Angualr CDK Schematics](https://github.com/angular/components/tree/master/src/cdk/schematics)\n- [Nrwl Nx Schematics](https://github.com/nrwl/nx/tree/master/packages)\n- [玩轉 Schematics](https://www.slideshare.net/ssuser35b57e/playing-schematics-modern-web-2018)\n- [高效 Coding 術：Angular Schematics 實戰三十天](https://ithelp.ithome.com.tw/users/20090728/ironman/2149)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellwind%2Fngtw19-schematics-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwellwind%2Fngtw19-schematics-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwellwind%2Fngtw19-schematics-workshop/lists"}