淺析如何透過webpack引入第三方函式庫

不言
發布: 2018-07-20 10:26:35
原創
2510 人瀏覽過

這篇文章要跟大家介紹的內容是關於淺析如何透過webpack引入第三方函式庫,有著一定的參考價值,有需要的朋友可以參考一下。

一般來說,引入第三方函式庫有一下三種情況:

  1. 透過CDN引入;

  2. 透過npm安裝並引入;

  3. 第三方js檔案就在本地

#透過CDN

這是最簡單的一種方式,例如引入高德地圖,可以直接把以下程式碼放在index.html檔案底部,這種情況與webpack無關,因為webpack的入口檔案並不在此處

登入後複製

npm

透過npm install安裝的套件會放在node modules資料夾下,使用時,可以直接在使用到的檔案頂部引入進來,例如import或require。但如果每個模組化的文件都會用到,那麼每個文件都要去引入這個第三方文件,很繁瑣,這時候就可以用webpack的插件:ProvidePlugin,可以理解這個插件的作用就是把第三方庫引入,且它的作用域是全域的。
例如引入jquery

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })
登入後複製
登入後複製

那麼就可以用$和jQuery了,它們兩個都表示jquery,需注意的是$和jQuery後面的值(jquery)必須和npm install jquery中的jquery保持一致,不然會找不到。

本地JS函式庫檔案

會有這麼一種狀況:第三方的js檔案就在本地,怎麼透過webpack引進呢?例如第二種jquery的情況,

new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })
登入後複製
登入後複製

這樣寫一定會找不到jquery了,因為它並不在node modules中,這時可以用webpack配置中的resolve選項,給jquery指定一個別名,並配置其路徑。
假如我們的jquery.js檔案放在dist資料夾下面

resolve:{ alias: { $: path.resolve(__dirname, './dist/jquery.js'), jQuery: path.resolve(__dirname, './dist/jquery.js'), } }
登入後複製

這樣就可以了。

透過loader

除了ProvidePlugin這個插件,還有一個imports-loader可以完成引入第三方函式庫的工作。
test來指定哪個檔案需要引入第三方函式庫,透過options設定jquery。然後打包後可以看出,打包後的app.js檔案變大了。

module: { rules: [ { test: path.resolve(__dirname, "./src/app.js"), use: "imports-loader" options:{ $:'jquery' } } ] }
登入後複製

相關推薦:

對於webpack4.0配置的詳解

#vue中config/index .js:配置的詳解

以上是淺析如何透過webpack引入第三方函式庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!