1. โครงสร้างพื้นฐานของโปรเจกต์ Vue.js
หลังจากสร้างโปรเจกต์ด้วย Vue CLI คุณจะพบโครงสร้างโฟลเดอร์และไฟล์ที่สำคัญดังนี้:
my-vue-app
├── node_modules
├── public
│ └── index.html
├── src
│ ├── assets
│ ├── components
│ ├── App.vue
│ └── main.js
├── package.json
└── babel.config.js
คำอธิบายโฟลเดอร์และไฟล์
node_modules/
: เก็บไฟล์ dependencies ที่โปรเจกต์ต้องการ (ไม่ควรแก้ไข)public/
: เก็บไฟล์ Static เช่นindex.html
, รูปภาพ, หรือไฟล์อื่นๆ ที่ไม่ต้องผ่าน Webpackindex.html
: ไฟล์หลักที่ใช้แสดงผลในเบราว์เซอร์ Vue.js จะถูกฝังลงในไฟล์นี้src/
: โฟลเดอร์หลักสำหรับการพัฒนาแอปพลิเคชันassets/
: เก็บไฟล์ Static เช่น รูปภาพและไฟล์ CSS ที่เกี่ยวข้องกับโปรเจกต์components/
: เก็บ Component ที่เราใช้งานในแอปApp.vue
: Component หลักของโปรเจกต์ ซึ่งรวมทุกส่วนประกอบของแอปmain.js
: ไฟล์เริ่มต้นที่เชื่อมโยง Vue.js เข้ากับ HTMLpackage.json
: เก็บข้อมูลโปรเจกต์และ dependenciesbabel.config.js
: กำหนดค่าการแปลงโค้ด JavaScript ด้วย Babel
2. ความสำคัญของไฟล์ main.js
import { createApp } from 'vue';
import App from './App.vue';
createApp(App).mount('#app');
คำอธิบาย:
createApp(App)
: สร้างแอป Vue โดยใช้ Component หลักApp.vue
.mount('#app')
: เชื่อมต่อแอปกับ DOM ที่มีid="app"
ในindex.html
ตัวอย่าง DOM:
<div id="app"></div>
3. โครงสร้างของ App.vue
ไฟล์ App.vue
มีโครงสร้างแบ่งเป็น 3 ส่วน:
<template>
<div id="app">
<h1>Welcome to Vue.js</h1>
<p>This is the main component</p>
</div>
</template>
<script>
export default {
name: 'App'
};
</script>
<style>
#app {
font-family: Arial, sans-serif;
text-align: center;
margin-top: 50px;
}
</style>
คำอธิบาย:
<template>
: กำหนด HTML ที่ใช้แสดงผล<script>
: เขียน JavaScript สำหรับกำหนดข้อมูลหรือฟังก์ชัน<style>
: เขียน CSS สำหรับกำหนดรูปแบบของ Component
4. การเพิ่ม Component ใหม่
ขั้นตอน:
- สร้างไฟล์ Component ใหม่ในโฟลเดอร์
src/components/
เช่นHelloWorld.vue
- เพิ่มโค้ดในไฟล์:
<template>
<div>
<h2>Hello World Component</h2>
</div>
</template>
<script>
export default {
name: 'HelloWorld'
};
</script>
- นำ Component มาใช้ใน
App.vue
:
<template>
<div id="app">
<h1>Main App</h1>
<HelloWorld />
</div>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue';
export default {
name: 'App',
components: {
HelloWorld
}
};
</script>
5. สรุป
ในบทนี้ คุณได้เรียนรู้:
- โครงสร้างพื้นฐานของโปรเจกต์ Vue.js
- การทำงานของไฟล์
main.js
และApp.vue
- การสร้างและเพิ่ม Component ใหม่
ในบทถัดไป เราจะเจาะลึกเกี่ยวกับการสร้าง Component และการใช้ Props เพื่อส่งข้อมูลระหว่าง Component!