เริ่มต้นโปรเจคกับ electornjs + vuejs
อัพเดทล่าสุด 8 ก.ย. 61
อักษร และอักขระพิเศษ
เริ่มต้น

หลังจากหาวิธีทำอยู่ตั้งนาน ลองนู่นลองนี่ ปรากฏว่า มันมี template ให้ใช้ สั่งสร้างโปรเจคด้วย template ตัวนี้ ได้ครบทุกอย่างที่ต้องการ เซงเบย เสียเวลาไปงมเองทีละอย่างตั้งนาน เริ่มต้นด้วยคำสั่งนี้เลยครับ (สมมุติว่า เราลง พวก vue-cli เรียบร้อยแล้ว นะ)

vue init simulatedgreg/electron-vue my-project

มันจะถามคำถามสุขภาพ 4-5 ข้อ

? Application Name ...
? Application Id com.un-no....
? Application Version 0.0.1
? Project description ...
? Use Sass / Scss? Yes
? Select which Vue plugins to install axios, vue-electron, vue-router, vuex
? Use linting with ESLint? Yes
? Which ESLint config would you like to use? Standard
? Set up unit testing with Karma + Mocha? Yes
? Set up end-to-end testing with Spectron + Mocha? Yes
? What build tool would you like to use? builder
? author EK <[email protected]>

จุดสำคัญๆ นอกจากพวกชื่อโปรเจคแล้ว มีประมาณนี้ครับ

  • Scss - โอเค ใช้มันซะครับ แล้วโลกของ CSS คุณจะเปลี่ยนไป
  • Plugin - อันนี้ของหลักๆ ที่เราจะใช้ (ซึ่ง ก็ใช้หมดนั่นล่ะ)
    • axios - สำหรับใช้ในการติดต่อ backend ผ่าน http
    • vue-electron - ใช้สำหรับสร้างแอฟ electron (คือไม่เลือกอันนี้ก็ไม่รู้จะ ใช้ template นี้ทำไมนะ)
    • vue-router - จัดการ router
    • vuex - จัดการ state
  • ESLint - อันนี้มันจะตรวจ มาตราฐานการเขียนโค้ดเรา ว่าถูกรูปแบบรึเปล่า ซึ่งผมเลือกใช้ แบบ standard นะครับ (ไม่ค่อยชอบ airbnb เท่าไร จองห้องแล้วไม่ค่อยว่างตรงกันเลย) ซึ่ง ตัวตรวจโค้ดอันนี้ บันเทิงมาก เพราะ เราวรรคผิดแค่อันเดียว โค้ดก็พังไปเลย สะใจดี
  • Karma + Mocha - ก็เรื่อง unit test ทั่วไป ซึ่งจริงๆ จะเขียนแอฟ ก็ควรทำ test
  • build tool - อันนี้มีแยกเป็น 2 แบบ สะดวกคนละแบบ คือ
    • electron-builder - จะสร้างเป็นตัว Setup ขึ้นมาให้เอาไปใช้ แถมมีตัว Check Update แถมมาให้ด้วยอีก แจ่มโครต
    • electron-packager - จะเป็นตัวสร้าง .exe ให้ เวลาจะเอาไปใช้ ก็แค่ก็อปไฟล์ ไปเปิด

สุดท้ายพอได้ครบแล้ว เราก็สั่ง

npm install
npm run dev

ก็จะได้หน้าตาแบบนี้ขึ้นมาครับ

ซึ่งตัวแอฟ ที่เห็นนี้ เป็นแบบ Hot Reload ด้วยนะครับ เขียนโค้ดกันได้สนุกสุดๆ

จบครับ ไว้มีต่อเรื่องถัดไป

Beta Version v23.12.4 : ขออภัยเว็บกำลังก่อสร้าง (อีกแล้ว) แต่คราวนี้กำลังสร้างจริงจังละ