Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีเพิ่ม JavaScript แบบกำหนดเองในเว็บไซต์ GatsbyJS

แม้ GatsbyJS จะเป็น React framework แต่การรู้วิธีเพิ่ม JavaScript แบบกำหนดเองในโปรเจกต์ Gatsby อาจมีประโยชน์ อาจคุณเพิ่งย้ายเว็บเก่าไป Gatsby และมี custom vanilla JavaScript เยอะที่ไม่ค่อยอยากแปลงเป็น ReactJS syntax ทันที — ผมเข้าใจ

โชคดีที่การเพิ่ม plain JavaScript ลง Gatsby ไม่ยากเลย คุณเพียงต้อง expose ไฟล์ง่ายๆ html.js ซึ่งไม่มองเห็นได้ในโปรเจกต์ Gatsby โดยค่าเริ่มต้น

เพื่อ expose (ทำให้พร้อมใช้งาน) ไฟล์ html.js ให้เปิดเทอร์มินัล ไปที่ root ของโฟลเดอร์โปรเจกต์ Gatsby และรัน:

cp .cache/default-html.js src/html.js

ตอนนี้ html.js พร้อมใช้ในโฟลเดอร์ src ในโปรเจกต์ Gatsby

วิธีเพิ่ม JavaScript แบบกำหนดเองในเว็บไซต์ GatsbyJS

ภายในไฟล์ html.js มี HTML syntax เยอะที่คุณคุ้นเคย อย่าสัมผัสโค้ดที่มีอยู่ แต่ให้สนใจ div element ที่มีแอตทริบิวต์ dangerouslySetInnerHTML เราต้องใช้แอตทริบิวต์เดียวกันกับอิลีเมนต์ <script>

Copy & paste สนิปเพทต่อไปนี้ เหนือ closing body tag </body> ของไฟล์ html.js:

<script dangerouslySetInnerHTML={{ __html: ` console.log('Plain JavaScript inside Gatsby!'); ` }} />

บันทึกการเปลี่ยนแปลง และ start Gatsby server หรือ refresh แท็บเบราว์เซอร์ถ้า Gatsby รันอยู่แล้ว หากคุณทำถูก คุณควรเห็นข้อความต่อไปนี้ใน Chrome console:

Plain JavaScript inside Gatsby!

ลองเพิ่ม click event พร้อม alert message ภายใน script element:

document.body.addEventListener('click', function() { alert('JavaScript!') })

ตอนนี้เวลาคุณคลิกที่ไหนบนหน้า มันควรโผล่ alert บอก "JavaScript!"

Resources:

ดูเอกสาร GatsbyJS อย่างเป็นทางการสำหรับ (adding custom JavaScript)[https://www.gatsbyjs.org/docs/custom-html/#adding-custom-javascript]