Dev to webs {Coding…}

เรียนรู้การพัฒนาซอฟเวอร์ เพื่อความรู้ที่ยั่งยืน

บทที่ 31: การพัฒนาแอปพลิเคชัน Vue.js ที่มีประสิทธิภาพและการจัดการโครงสร้างโปรเจกต์

1. ความสำคัญของการจัดการโครงสร้างโปรเจกต์

การจัดการโครงสร้างโปรเจกต์ที่ดีช่วยให้โค้ดอ่านง่าย บำรุงรักษาง่าย และลดข้อผิดพลาดในการพัฒนา โดยเฉพาะในแอปพลิเคชันขนาดใหญ่ การวางโครงสร้างที่ชัดเจนและสม่ำเสมอจึงเป็นสิ่งจำเป็น


2. โครงสร้างโปรเจกต์ที่แนะนำสำหรับ Vue.js

โครงสร้างโปรเจกต์ที่ดีควรแยกส่วนต่าง ๆ ออกจากกันเพื่อให้จัดการได้ง่าย

ตัวอย่างโครงสร้าง:

src/
├── assets/         # ไฟล์ Static เช่น รูปภาพ, ไฟล์ CSS
├── components/     # Vue Components
├── views/          # หน้าหลักแต่ละหน้า
├── router/         # การตั้งค่า Vue Router
├── store/          # Vuex Store
├── utils/          # ฟังก์ชันหรือ Helper
├── services/       # การเชื่อมต่อ API
├── App.vue         # Component หลักของแอปพลิเคชัน
└── main.js         # จุดเริ่มต้นของโปรเจกต์

3. การปรับปรุงประสิทธิภาพใน Vue.js

3.1 ใช้ Lazy Loading

Lazy Loading ช่วยลดเวลาการโหลดแอปพลิเคชัน โดยโหลดเฉพาะส่วนที่จำเป็นเมื่อผู้ใช้ต้องการ

ตัวอย่างการใช้ Lazy Loading กับ Vue Router:

const routes = [
  {
    path: '/about',
    component: () => import('@/views/About.vue')
  }
];

3.2 ใช้ Computed Properties แทน Methods

Computed Properties ช่วยลดการคำนวณที่ซ้ำซ้อนเมื่อค่าไม่เปลี่ยนแปลง

ตัวอย่าง:

computed: {
  fullName() {
    return `${this.firstName} ${this.lastName}`;
  }
}

3.3 ใช้ Keep-Alive สำหรับ Component

Keep-Alive ช่วยให้ Component ที่ไม่ได้แสดงยังคงสถานะและไม่ต้อง Render ใหม่

ตัวอย่าง:

<template>
  <keep-alive>
    <router-view />
  </keep-alive>
</template>

4. การจัดการ Dependencies

4.1 ลบ Dependencies ที่ไม่ได้ใช้

ใช้เครื่องมืออย่าง npm prune เพื่อลบ Dependencies ที่ไม่ได้ใช้งาน

npm prune

4.2 ใช้ CDN สำหรับ Static Libraries

การโหลดไลบรารีผ่าน CDN ช่วยลดขนาดไฟล์ที่ต้องดาวน์โหลดจากเซิร์ฟเวอร์

ตัวอย่างการใช้ CDN:

<script src="https://cdn.jsdelivr.net/npm/vue@3"></script>

5. การใช้ ESLint และ Prettier

การตั้งค่า ESLint และ Prettier ช่วยรักษาคุณภาพโค้ดและลดข้อผิดพลาด

การติดตั้ง:

npm install eslint prettier eslint-plugin-prettier eslint-config-prettier --save-dev

ตัวอย่างการตั้งค่า ESLint:

module.exports = {
  env: {
    browser: true,
    es2021: true
  },
  extends: [
    'eslint:recommended',
    'plugin:vue/vue3-recommended',
    'prettier'
  ],
  parserOptions: {
    ecmaVersion: 12,
    sourceType: 'module'
  },
  plugins: ['vue', 'prettier'],
  rules: {
    'prettier/prettier': 'error'
  }
};

6. การใช้เครื่องมือ DevTools

6.1 Vue DevTools

Vue DevTools ช่วย Debug Component, State, และ Events

6.2 Chrome Performance Tab

ใช้สำหรับตรวจสอบและปรับปรุงประสิทธิภาพ


7. สรุป

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับโครงสร้างโปรเจกต์ที่แนะนำ การปรับปรุงประสิทธิภาพ และการตั้งค่าที่ช่วยพัฒนาแอปพลิเคชัน Vue.js ที่มีประสิทธิภาพ

ในบทถัดไป เราจะพูดถึงเทคนิคขั้นสูง เช่น การสร้าง Custom Directives และการพัฒนา Plugin ใน Vue.js!