|- webpack.config.js
|- package.json
|- /node_modules
|- …
|- /src
|- index.js
|- test.js
還記得我們之前文章中使用過的lodash
嗎?讓我們把這個模組作為我們應用程式中的乙個全域性變數。要實現這些,我們需要使用provideplugin
外掛程式。
使用provideplugin
後,能夠在通過webpack
編譯的每個模組中,通過訪問乙個指定變數來獲取到該依賴包(例如lodash
、jquery
等)。
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手機...