webpack 引用打包第三方全域性依賴3種方式

2021-09-24 22:18:55 字數 3451 閱讀 4109

|- webpack.config.js

|- package.json

|- /node_modules

|- …

|- /src

|- index.js

|- test.js

還記得我們之前文章中使用過的lodash嗎?讓我們把這個模組作為我們應用程式中的乙個全域性變數。要實現這些,我們需要使用provideplugin外掛程式。

使用provideplugin後,能夠在通過webpack編譯的每個模組中,通過訪問乙個指定變數來獲取到該依賴包(例如lodashjquery等)。

1. src/index…js

function

component()

document.body.

(component()

)

2. webpack.config.js

const path =

require

('path');

const htmlwebpackplugin =

require

('html-webpack-plugin');

const

=require

('clean-webpack-plugin');

const webpack =

require

('webpack');

module.exports =

, plugins:

[new

cleanwebpackplugin()

,new

htmlwebpackplugin()

,new

webpack.hashedmoduleidsplugin()

,new

webpack.provideplugin()

],optimization:}}

},output:

};

3. 執行打包命令

d:\me\npm\test\webpack-test>npx webpack --config webpack.config.js

hash: c08499ee073ad31cb4ca

version: webpack 4.34.0

time: 735ms

built at: 2019-07-02 6:11:38 pm

asset size chunks chunk names

index.bundle.1164899ae8ed1f644bec.js 70.4 kib 0 [emitted] index

index.html 208 bytes [emitted]

entrypoint index = index.bundle.1164899ae8ed1f644bec.js

[kqu2]

(webpack)/buildin/global.js 472 bytes

[built]

[p7h0]

(webpack)/buildin/module.js 497 bytes

[built]

[tjuo] ./src/index.js 216 bytes

[built]

+ 1 hidden module

child html-webpack-plugin for

"index.html"

: 1 asset

entrypoint undefined = index.html

[kqu2]

(webpack)/buildin/global.js 472 bytes

[built]

[p7h0]

(webpack)/buildin/module.js 497 bytes

[built]

+ 2 hidden modules

4. 執行結果

一些傳統的模組依賴的 this 指向的是window物件。在接下來的用例中,調整我們的index.js

function

component()

document.body.

(component()

);

2. webpack.config.js

當模組執行在commonjs環境下,此時的this指向的是module.exports。在這個例子中,可以通過使用imports-loader覆蓋this, 在module.rules中新增如下:

module:]}

,//...

}

如果某個庫(library)建立出乙個全域性變數,它期望使用者使用這個變數。為此,我們可以在專案配置中,新增乙個模組來測試下:

1. 新建src/global.js,可以替換成jquery等常用的庫

var file =

'blah.txt'

;var helpers =

, parse:

function()

}

2. 編輯webpack.config.js如下

在這個用例中,我們可以使用exports-loader,將乙個全域性變數作為乙個普通的模組來匯出。例如,為了將file匯出為 file 以及將helpers.parse匯出為parse

module:]}

,//...

}

ant打包android工程引用第三方sdk

使用ant打包的引用第三方sdk主要使用的兩種方法。第一種 直接使用第三方的jar包,這種使用方法比較簡單,直接將jar包放入android工程的libs資料夾中,然後使用sdk工具對工程進行編譯,編譯完後直接使用ant對工程進行打包。具體操作步驟如下 然後輸入編譯工程的命令列 xx為工程的根目錄,...

webpack打包第三方類庫的正確姿勢

webpack 的使用越來越廣泛,但其中不乏很多鮮為人知的細節設定,甚至很多人會認為這是 webpack 的 bug。這次,我們就來聊一聊 webpack.optimize.commonschunkplugin。這個 plugin 我相信幾乎90 的用 webpack 的都用了這個,但我同樣相信幾乎...

Android Studio工程引用第三方so檔案

so檔案和jar包存放到工程的libs目錄下。p.s.另外,可以將apk解壓出來,檢視lib目錄,也能分析該apk的so檔案目錄。此外,要再 gradle.properties 檔案中新增android.usedeprecatedndk true,重新編譯工程即可。不同cpu架構的android手機...