新聞中心
一般來說,引入第三方庫(kù)有一下三種情況:
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供環(huán)江網(wǎng)站建設(shè)、環(huán)江做網(wǎng)站、環(huán)江網(wǎng)站設(shè)計(jì)、環(huán)江網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、環(huán)江企業(yè)網(wǎng)站模板建站服務(wù),十余年環(huán)江做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
- 通過cdn引入;
- 通過npm 安裝并引入;
- 第三方j(luò)s文件就在本地
通過CDN
這是最簡(jiǎn)單的一種方式,例如引入高德地圖,可以直接把以下代碼放在index.html文件底部,這種情況與webpack無關(guān),因?yàn)閣ebpack的入口文件并不在此處
npm
通過npm install安裝的包會(huì)放在node modules文件夾下,當(dāng)使用時(shí),可以直接在用到的文件頂部引入進(jìn)來,例如import或者require。但如果每個(gè)模塊化的文件都會(huì)用到,那么每個(gè)文件都要去引入這個(gè)第三方文件,很繁瑣,這時(shí)候就可以用webpack的插件:ProvidePlugin,可以理解這個(gè)插件的作用就是把第三方庫(kù)引入,且它的作用域是全局的。
例如引入jquery
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })
那么就可以用$和jQuery了,它們兩個(gè)都表示jquery,需注意的是$和jQuery后面的值(jquery)必須和npm install jquery中的jquery保持一致,不然會(huì)找不到。
本地JS庫(kù)文件
會(huì)有這么一種情況:第三方的js文件就在本地,怎么通過webpack引入呢?比如第二種jquery的情況,
new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' })
這樣寫肯定會(huì)找不到j(luò)query了,因?yàn)樗⒉辉趎ode modules中,這時(shí)可以用webpack配置中的resolve選項(xiàng),給jquery指定一個(gè)別名,并配置其路徑。
假如我們的jquery.js文件放在dist文件夾下面
resolve:{ alias: { $: path.resolve(__dirname, './dist/jquery.js'), jQuery: path.resolve(__dirname, './dist/jquery.js'), } }
這樣就可以了。
通過loader
除了ProvidePlugin這個(gè)插件,還有一個(gè)imports-loader可以完成引入第三方庫(kù)的工作。
test來指定哪個(gè)文件需要引入第三方庫(kù),通過options配置jquery。然后打包后可以看出,打包后的app.js文件變大了。
module: { rules: [ { test: path.resolve(__dirname, "./src/app.js"), use: "imports-loader" options:{ $:'jquery' } } ] }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
網(wǎng)站欄目:通過webpack引入第三方庫(kù)的方法
URL標(biāo)題:http://www.dlmjj.cn/article/jeojoi.html