/
CATEGORY
Vue
/
Vue3 載入外部的 JS 檔案

Vue3 載入外部的 JS 檔案

MUKI AI Summary

在 VUE 中使用 <script> 插入 JS 檔案,通常是在 /public/index.html 中直接加入,但這樣無法有效控管使用頁面。可以改用 SFC (single-file components) 在需要的頁面載入外部 JS 檔案。

以 google map api 為例,傳統做法是直接嵌入 <script> 標籤。改進做法是使用 onMounted 函數,動態創建 script 元素,設置 src、defer 和 async 屬性,並附加到 document.head,這樣能更靈活管理載入時機。...

最近碰到一個問題是需要在 VUE 用 <script> 插入 JS 檔案,原本的做法是直接在 /public/index.html 插入即可,但有時候不是每一頁都會用到這個檔案,或是需要更有效地去控管他,所以可以改在 SFC 裡面插入這隻檔案。

SFC

在此為 single-file components 的簡稱

在 SFC 載入外部 JS 檔案

以 google map api 為例,用 <script> 是這樣寫:

<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"></script>

然後我們可以改成以下寫法:

onMounted(() => {
  const key = ''
  const googleMapScript = document.createElement('script')
  const googleMapScript = document.createElement('script')
  googleMapScript.setAttribute(
    'src',
    `https://maps.googleapis.com/maps/api/js?key=${key}&callback=initMap`
  )
  googleMapScript.setAttribute('defer', '')
  googleMapScript.setAttribute('async', '')
  document.head.appendChild(googleMapScript)
})

這樣就可以囉!

歡迎給我點鼓勵,讓我知道你來過 :)

3
2
MUKI says:

如果文章有幫助到你,歡迎分享給更多人知道。文章內容皆為 MUKI 本人的原創文章,我會經常更新文章以及修正錯誤內容,因此轉載時建議保留原出處,避免出現版本不一致或已過時的資訊。

本文地址:https://muki.tw/vue3-import-javascript/ 已複製

Subscribe
Notify of
guest

0 則留言
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Copyright © since 2008 MUKI space* / omegaSS theme All Rights Reserved.