1. 程式人生 > >Vue 中如何引入第三方 JS 庫

Vue 中如何引入第三方 JS 庫


我們以 jQuery 為例,來講解

一、絕對路徑直接引入,全域性可用

主入口頁面 index.html 中用 script 標籤引入:

<script src="./static/jquery-1.12.4.js"></script>

這樣,其實就已經可以在專案中使用 jQuery 了。

mounted () {
  console.log($)
}

我們來看一下 偵錯程式 截圖:

可以看到,我們是可以正常打印出 jQuery 的。
由於我的專案開啟了 ESLint 檢測,所以也會報一個 error :'$' is not defined

我們可以讓 ESLint 不檢查這一行:

mounted () {
  /* eslint-disable */
  console.log($)
}

加了 /* eslint-disable */ 以後,就不會報那個錯了。

二、絕對路徑直接引入,配置後,import 引入後再使用

第一種方法有一個弊端就是:我們每一個使用了 $ 的地方,都要再前面加上 /* eslint-disable */ ,這顯然是不方便的。

於是,我們有了第二種方法

還是先在主入口頁面 index.html 中用 script 標籤引入:

<script src="./static/jquery-1.12.4.js"></script>

然後,我們可以在 webpack 中配置一個 externals

externals: {
  'jquery': 'jQuery'
}

這樣,我們就可以在每一個元件中用 import 來引用這個 jquery 了。

import $ from 'jquery'

export default {
  created() {
    console.log($)
  }
}

控制檯截圖如下:

很好,沒有任何問題,我們可以在這個元件中 隨意的 任意的 多次的 來使用 $ 了。

OK,咱們已經介紹兩種方式了,它們有一個共同點:都需要在主入口頁面 index.html 中,用 script 標籤來引入 jQuery。

如果你不想在 inde.html 中使用 script

標籤來引入 jQuery 的話,我們還有方法

三、webpack中配置 alias,import 引入後再使用

我們不需要在主入口檔案 index.html 中引入 jQuery 。我們只需要在 webpack 的配置檔案中,在 resolve 中為 jQuery 新增一個 alias 。

resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
    '@': resolve('src'),
    'jquery': resolve('static/jquery-1.12.4.js')
  }
}

那麼,我們就可以在任意元件中,通過 import 的方式來使用 jquery 了。

<script>
import $ from 'jquery'
export default {
  name: 'app',
  created() {
    console.log($)
  }
}
</script>

控制檯截圖:

OK,也是沒有任何問題的

四、webpack 中配置 plugins,無需 import 全域性可用

在第三種的基礎上,如果我們增加一個 plugins 的配置,那麼,我們在使用的時候,無需 import $ from 'jquery' 也可以。

resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
    '@': resolve('src'),
    'jquery': resolve('static/jquery-1.12.4.js')
  }
},
plugins: [
  new webpack.ProvidePlugin({
    $: 'jquery'
  })
]

這個時候,我們在專案中,就可以直接使用 $ 了。

<script>
export default {
  name: 'app',
  created() {
    /* eslint-disable*/
    console.log($)
  }
}
</script>

同理,由於我的專案使用了 ESLint ,所以需要在使用了 $ 的程式碼前新增 /* eslint-disable*/ 來去掉 ESLint 的檢查,否則會報錯:'$' is not define

結論

第一種和第四種方式使用的時候,不需要 import ,全域性直接可用;第二種和第三種方式使用的時候,需要先 import 。

1、現在的專案一般都會加入 ESLint 程式碼檢查,所以推薦使用第二種或者第三種方式(這兩種方式在使用的時候都需要先 import 引入,然後再使用,也就不存在 ESLint 報 not defined 的問題)

2、如果你的專案沒有使用 ESLint ,第一種和第四種也是不錯的選擇。

3、如果你使用了 ESLint,仍然想使用第一種或者第四種方式,那麼,我們就得在 ESLint 的配置檔案中新增規則:'no-undef': 0

---------------------------(正文完)------------------------------------
一個 Vue 的學習交流群,想進來面基的,可以點選這個logoVue學習交流,或者手動search群號:685486827

寫在最後:約定優於配置-------軟體開發的簡約原則.
--------------------------------(完)--------------------------------------

更多學習資源請關注我的新浪微博…

相關推薦

VUE引入第三方JS

OS 對象 oca 騰訊 地圖 assets 引入 vue bsp 1、若第三方中的對象或者方法,已經暴露出來(export),則可以直接引用,比如:   import ‘../../../common/geolocation.min.js‘; // 引入騰訊地圖前端定位組

ionic3引入第三方js的方法總結

以jquery為例: 建立ionic3專案:ionic start ionic3-test tabs 一、在使用的頁面匯入js檔案路徑;         下載jquery.min.js檔案,找到assets下面,建立js資料夾,將下載好的jquer

Vue 如何引入第三方 JS

我們以 jQuery 為例,來講解 一、絕對路徑直接引入,全域性可用 主入口頁面 index.html 中用 script 標籤引入: <script src="./static/jquery-1.12.4.js"></script>

如何在vue引入第三方jquery,swiper等(一)

以前習慣性是引用jQuery,bootstrap。。。庫,但是不會引用,怎麼辦? npm install swiper--save-dev (或者 npm install jquery -D) 一 .引入swiper(全域性,區域性) 方法一:全

TP5 引入第三方

自動加載 nbsp 第三方 strong post psr-4 body 文件目錄 文件的 通過了解tp5的目錄結構,我們知道其中有兩個目錄是紡織擴展類庫文件的。 extend是放置自定義或者其他類文件的。 vendor目錄是放置composer類庫文件的。 當我們的第三方

Vue cli 引入第三方JS和CSS的常用方法

如果要引入第三方JS或者css  最好是把檔案放在statis資料夾下,此處是靜態檔案存放的位置 第一種方法: 直接在index.html中引入 js <script type="

vue專案引入第三方js外掛

1、引入第三方js檔案,npm安裝不了2、在methods下使用 圖片看不清請看下面程式碼 updateTime() { setInterval(()=>{ var cd = new Date(); var lun

Vue專案使用element-ui,並引入第三方圖示iconfont

1、安裝 npm install element-ui --save-dev 2、在main.js檔案中引入 import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.c

在webpack開發引入第三方插件(vue項目)完善ing...

ports ble 禁用 優先 fun tro trap config文件 不能 並不是所有的js文件都可以直接在webpack中使用。這些文件可能不支持模塊(module)格式,甚至完全沒有使 用模塊(module)。 webpack提供了幾種loaders(裝載機)來解

vue項目引入第三方js插件,單個js文件引入成功,使用該插件方法時報錯

question play 文件引入 clas ons 不定 AS npm安裝 col 1、引入第三方js文件,npm安裝不了 2、控制臺顯示引入成功 3、在methods下使用 圖片看不清請看下面代碼 updateTime() { set

把圖片公式轉化為文字內容。vue專案引入MathJax.js

這是個圖片的公式,有img標籤引入。 我們想要轉成下面的效果:   在vue專案中引入MathJax.js 首先在index.html頁面  <script type="text/javascript" src="https://cdn.ma

vue引入js,然後new js裡的方法

阿里雲Web播放器Web端使用SDK說明:https://help.aliyun.com/document_detail/51991.html?spm=5176.11065259.1996646101.searchclickresult.15a92458LoTQhA   vue專案中要使用阿里雲

Vue引入第三方JavaScript和如何建立自己的Vue外掛

一 第三方JavaScript庫 前言 .vue檔案 中不解析 script標籤引入js檔案,只能用 import 引入 有兩種用法: 1.import a from '../a' 2.import '../a' 區別在於第一個你要用到export匯出之後 才能用import匯入。 第二個是直接引入 和sc

Vue專案引入iconfont 圖示 和 圖示顯示成小方塊的問題解決

這兩天弄了個vue的小demo ,引入了iconfont 的圖示,沒想到是噩耗的開始,一直顯示的是小方塊,一步步排查踩坑把問題解決。 首先看看官方對專案引入iconfont 的介紹。 unicode引用 unicode是字型在網頁端最原始的應用方式,特點是: 相容性最

vue引入遠端的js檔案

vue js components: { //引入外鏈中的js 'remote-js': { render(createElement) { return createElement('script

關於在vue引入jquery或js檔案

起 最近需要在vue中引入jquery,在網上找了若干資料。 以下文章比較靠譜: [參考傳送門1](http://www.jianshu.com/p/3746cf6cebe2) [參考傳送門2](ht

yii手動引入第三方

第一種:在config web.php中加入Yii::$classMap['Freedom'] = __DIR__ . '/../vendor/Freedom.php';     在contr

NDK學習( 二),在NDK開發引入第三方(AndroidStudio Cmake)

在NDK中可能需要複用之前已經編譯好的so檔案,所以本章的目標是給一個之前編譯好的so檔案外加一個需要呼叫介面的標頭檔案,在現在專案中複用。 在本次實踐過程中,已經有編譯完成的各種cpu架構的libstringutil-lib.so以及標頭檔案,Stringutil.h

學習vue-cli時需要引入外部js檔案(如jquery)的問題,百度後解決了,再次備忘一下

原文連結:http://www.cnblogs.com/pandabunny/p/5417938.html 感謝這位哥們兒的無私分享 在vue-cli 生成的工程中引入jquery,記錄一下。(模板用的webpack) 首先在package.json裡的depend

Vue專案引入D3.js

使用Vue-CLI ,且適合在單檔案元件.vue的情況下引入D3.js 1. vue-cli安裝 npm install -g vue-cli 2. 專案名初始化 vue init webpack projectName projectNamet為專案名。 3. 安裝