如何在vue模版里面局部引用cdn外部遠(yuǎn)程連接豫柬,比如js告希,css

要引入第三方資源,常規(guī)的做法是在index.html中引入烧给。如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>vuetest</title>
    <link rel="stylesheet" type="text/css" > 
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

但是又不想影響其他頁面燕偶,只想在本頁顯示。所以網(wǎng)上搜了下创夜。我最終選擇了第一種杭跪。 —

原文鏈接:https://blog.yourtion.com/vue-require-remote-js.html

問題

最近在使用 Vue 做東西仙逻,用到釘釘掃描登錄的功能驰吓,這里需要引入遠(yuǎn)程的 js 文件,因?yàn)?Vue 的方式跟之前的不太一樣系奉,又不想把文件下載到本地應(yīng)用檬贰,找了一下解決的方法,貌似都需要引入第三方的庫缺亮,最后找到了解決方案翁涤,分享之。

思路

一開始的思路是在 Vue 加載完 Dom 之后(mounted1),使用 JavaScript 腳本在 body 中插入遠(yuǎn)程的腳本文件葵礼。

后來發(fā)現(xiàn)了 Vue 的 createElement 方法号阿,簡(jiǎn)單的封裝一個(gè)組件解決問題。

解決方法

第一版代碼(直接在操作 Dom )如下:

export default {
  mounted() {
    const s = document.createElement('script');
    s.type = 'text/javascript';
    s.src = 'https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js';
    document.body.appendChild(s);
  },
}

第二種使用 createElement 方法:

export default {
  components: {
    'dingtalk': {
      render(createElement) {
        return createElement(
          'script',
          {
            attrs: {
              type: 'text/javascript',
              src: 'https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js',
            },
          },
        );
      },
    },
  },
}

// 使用 <dingtalk></dingtalk> 在頁面中調(diào)用

終極方案 通過封裝一個(gè)組件 remote-js 實(shí)現(xiàn):

export default {
  components: {
   'remote-js': {
    render(createElement) {
      return createElement('script', { attrs: { type: 'text/javascript', src: this.src }});
    },
    props: {
      src: { type: String, required: true },
    },
  },
  },
}

使用方法:

<remote-js src="https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js"></remote-js>

因?yàn)閯傞_始學(xué)習(xí) Vue 有什么問題歡迎大家指出鸳粉,大家一起討論討論扔涧。


我最終用了第一種,如下:

mounted () {
    const link = document.createElement('link')
    link.type = 'text/css'
    link.rel = 'stylesheet'
    link.
    document.head.appendChild(link)
  },

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末届谈,一起剝皮案震驚了整個(gè)濱河市枯夜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌艰山,老刑警劉巖湖雹,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異曙搬,居然都是意外死亡摔吏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門纵装,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舔腾,“玉大人,你說我怎么就攤上這事搂擦∥瘸希” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵扳还,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我橱夭,道長(zhǎng)氨距,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任棘劣,我火速辦了婚禮俏让,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茬暇。我一直安慰自己首昔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布糙俗。 她就那樣靜靜地躺著勒奇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪巧骚。 梳的紋絲不亂的頭發(fā)上赊颠,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天格二,我揣著相機(jī)與錄音,去河邊找鬼竣蹦。 笑死顶猜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的痘括。 我是一名探鬼主播驶兜,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼远寸!你這毒婦竟也來了抄淑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤驰后,失蹤者是張志新(化名)和其女友劉穎肆资,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灶芝,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡郑原,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了夜涕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片犯犁。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖女器,靈堂內(nèi)的尸體忽然破棺而出酸役,到底是詐尸還是另有隱情,我是刑警寧澤驾胆,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布涣澡,位于F島的核電站,受9級(jí)特大地震影響丧诺,放射性物質(zhì)發(fā)生泄漏入桂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一驳阎、第九天 我趴在偏房一處隱蔽的房頂上張望抗愁。 院中可真熱鬧,春花似錦呵晚、人聲如沸蜘腌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽逢捺。三九已至谁鳍,卻和暖如春癞季,著一層夾襖步出監(jiān)牢的瞬間劫瞳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工绷柒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留志于,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓废睦,卻偏偏與公主長(zhǎng)得像伺绽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嗜湃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 要引入第三方資源,常規(guī)的做法是在index.html中引入刚陡。如下: 但是又不想影響其他頁面惩妇,只想在本頁顯示。所以網(wǎng)...
    白云v城主閱讀 6,335評(píng)論 1 50
  • 一:什么是閉包筐乳?閉包的用處歌殃? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上蝙云,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,617評(píng)論 1 52
  • 33氓皱、JS中的本地存儲(chǔ) 把一些信息存儲(chǔ)在當(dāng)前瀏覽器指定域下的某一個(gè)地方(存儲(chǔ)到物理硬盤中)1、不能跨瀏覽器傳輸:在...
    萌妹撒閱讀 2,084評(píng)論 0 2
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計(jì)架構(gòu)和**解決方案**勃刨。> > 庫(lib...
    Rui_bdad閱讀 2,910評(píng)論 1 4
  • vue概述 在官方文檔中匀泊,有一句話對(duì)Vue的定位說的很明確:Vue.js 的核心是一個(gè)允許采用簡(jiǎn)潔的模板語法來聲明...
    li4065閱讀 7,227評(píng)論 0 25