Remove GIS Module

Remove GIS module from template

Note

เอกสารนี้ใช้สำหรับลบ ArcGIS SDK ออกจากโปรเจกต์ Angular ที่ใช้โครงสร้างของ AtlasX Web Template

** ควรทำขั้นตอนทั้งหมดนี้ ก่อน รันคำสั่ง npm install


รายละเอียด

การลบ ArcGIS SDK จะช่วยลดขนาดของโปรเจกต์และเวลา build หากระบบไม่ได้ใช้งานแผนที่จาก ArcGIS SDK (@arcgis/core)


ขั้นตอนที่ 1: ลบโฟลเดอร์ GIS

ลบโฟลเดอร์ src/app/gis :

src/
  └── app/
    ├── core/
    ├── gis/       <----- ใหลบโฟลเดอรนีออก
    ├── home/
    ├── app-routing.module.ts
    ├── app.component.html
    ├── app.component.spec.ts
    ├── app.component.ts
    └── app.module.ts

ขั้นตอนที่ 2: ลบ ArcGIS Provider ใน app.module.ts

เปิดไฟล์ src/app/app.module.ts แล้วลบบรรทัดที่เกี่ยวข้อง:

import { ArcgisJsapiProvider } from './gis/arcgisjsapi-provider';   // ลบบรรทัดนี้

...

providers: [
  ArcgisJsapiProvider,   // ลบบรรทัดนี้
]

ขั้นตอนที่ 3: ลบ GIS Module ใน app-routing.module.ts

const routes: Routes = [
  ...
  {                                                                             // ────
    path: 'gis',                                                                //     |
    loadChildren: () => import('./gis/gis.module').then((m) => m.GisModule),    //     |
    data: {                                                                     //     ├──> ลบส่วนนี้
      systemId: 'GIS',                                                          //     |
    },                                                                          //     |
  },                                                                            // ────
]

...

ขั้นตอนที่ 4: ลบ @arcgis/core จาก package.json

เปิด package.json แล้วลบบรรทัดที่เกี่ยวข้อง:

"dependencies": {
  "@angular/core": "...",
  "@arcgis/core": "^4.30.0",     // ลบบรรทัดนี้
  ...
}

ขั้นตอนที่ 5: ลบ ArcGIS ที่เกี่ยวข้องใน angular.json

ลบจาก build.options.assets

{
  "glob": "**/*",
  "input": "node_modules/@arcgis/core/assets",
  "output": "/assets/"
}

ลบจาก build.options.styles

"node_modules/@arcgis/core/assets/esri/themes/light/main.css"

ลบจาก test.options.assets

{
  "glob": "**/*",
  "input": "node_modules/@arcgis/core/assets",
  "output": "/assets/"
}

ลบจาก test.options.styles

"node_modules/@arcgis/core/assets/esri/themes/light/main.css"

ขั้นตอนที่ 6: ลบ package-lock และติดตั้ง dependency ใหม่

สำหรับ Linux / macOS / Git Bash:

rm -rf node_modules package-lock.json
npm install

สำหรับ PowerShell:

Remove-Item -Recurse -Force .\node_modules, .\package-lock.json
npm install

สำหรับ CMD:

rmdir /s /q node_modules
del /f /q package-lock.json
npm install

ขั้นตอนที่ 7: ทดสอบว่าไม่มีการเรียกใช้งาน GIS Module

รันคำสั่ง:

ng serve

หากไม่มี error และแอปรันได้ตามปกติ แสดงว่าลบเรียบร้อยแล้ว