摘要:對(duì)于的模塊而言可以用來(lái)基于瀏覽器或服務(wù)端的包下面讓我們學(xué)習(xí)如何使用生成首先需要全局安裝讓我們先來(lái)創(chuàng)建一個(gè)用來(lái)返回兩數(shù)之和的加法模塊接下來(lái)我們來(lái)建立配置接下來(lái)使用來(lái)你的模塊現(xiàn)在你可以來(lái)使用這三種不同的方式來(lái)測(cè)試你的包是否正確了在測(cè)試之前需要
對(duì)于 JavaScript 的模塊而言, webpack 可以用來(lái)build 基于瀏覽器或服務(wù)端的包.
下面讓我們學(xué)習(xí)如何使用webpack生成UMD.
首先需要全局安裝webpack
npm install -g webpack
讓我們先來(lái)創(chuàng)建一個(gè)用來(lái)返回兩數(shù)之和的加法模塊.
// add.js module.exports = function add(a, b) { return a + b; }; 接下來(lái),我們來(lái)建立webpack配置 // webpack.config.js module.exports = { entry: "./add.js", output: { filename: "./dist/add.js", // export to AMD, CommonJS, or window libraryTarget: "umd", // the name exported to window library: "add" } };
接下來(lái)使用webpack來(lái)build你的模塊.
$ webpack Hash: 87657f97293582af3ac3 Version: webpack 4.29.3 Time: 435ms Built at: 02/22/2019 9:01:57 AM Asset Size Chunks Chunk Names ./add.js 1.17 KiB 0 [emitted] main Entrypoint main = ./add.js [0] ./add.js 83 bytes {0} [built
現(xiàn)在你可以來(lái)使用CommonJS, AMD, script tag這三種不同的方式來(lái)測(cè)試你的UMD包是否正確了.
CommonJS在測(cè)試之前,需要確定是否安裝成功Nodejs環(huán)境,
當(dāng)你使用webpack打包的程序中包含了調(diào)用Window的內(nèi)容時(shí)(比如操作dom啥的),需要將commonJS轉(zhuǎn)換成瀏覽器可識(shí)別的代碼.這一步有很多方法,就我而言,我推薦你使用browserify,
它的logo賊好看,讓我有種在寫咒語(yǔ)的感覺(jué).
而且也很好用,你只要在terminal下輸入 browserify 想要轉(zhuǎn)換的文件 > 生成文件,就可以生成可以在瀏覽器環(huán)境下使用的js啦.
如果你不想詳細(xì)測(cè)試,也不想裝browserify,還有一種偷懶的辦法可以不完整的測(cè)試你的代碼, 在nodejs環(huán)境下定義 global.window = {};,代碼應(yīng)該也可以運(yùn)行.
$ node
> var add = require("./dist/add"); > add(1, 2);AMD
AMD模塊需要一個(gè)requirejs模塊,我這里采用的是在cdn上引用,你也可以把它下載下來(lái),自己引入試一下.需要注意的是,如果自己引用的話,需要注意文件路徑.
下載鏈接在這里
AMD (中文版)
Script Tag
這個(gè)就是最簡(jiǎn)單的全局暴露,沒(méi)啥好說(shuō)的.
本文參考了Build to UMD with webpack@1
感謝他救我于水火之中
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101981.html
摘要:本文特此給大家介紹下如何使用配合來(lái)構(gòu)建基于的前端項(xiàng)目。最后,在目錄下會(huì)生成最終的項(xiàng)目文件。執(zhí)行單元測(cè)試本例中使用進(jìn)行單元測(cè)試。 隨著React、Angular2、Redux等前沿的前端框架越來(lái)越流行,使用webpack、gulp等工具構(gòu)建前端自動(dòng)化項(xiàng)目也隨之變得越來(lái)越重要。鑒于目前業(yè)界普遍更流行使用webpack來(lái)構(gòu)建es6(ECMAScript 2015)前端項(xiàng)目,網(wǎng)上的相關(guān)教程也比...
摘要:所以你編譯后的文件實(shí)際上應(yīng)當(dāng)只輸出,這就需要在配置里用來(lái)控制這樣上面的模塊加載函數(shù)會(huì)在返回值后面加一個(gè),這樣就只返回的部分。 之前一篇文章分析了Webpack打包JS模塊的基本原理,所介紹的案例是最常見(jiàn)的一種情況,即多個(gè)JS模塊和一個(gè)入口模塊,打包成一個(gè)bundle文件,可以直接被瀏覽器或者其它JavaScript引擎執(zhí)行,相當(dāng)于直接編譯生成一個(gè)完整的可執(zhí)行的文件。不過(guò)還有一種很常見(jiàn)的...
摘要:的另一種形式測(cè)試踩坑之路代碼覆蓋率單元測(cè)試的代碼覆蓋率統(tǒng)計(jì),是衡量測(cè)試用例好壞的一個(gè)的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項(xiàng)目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經(jīng)有如此多的前端工具類庫(kù)還要自己造輪...
摘要:我們已經(jīng)運(yùn)用了的一些閃亮的新特性,那么如何才能轉(zhuǎn)化為的代碼呢首先,我們需要通過(guò)來(lái)安裝在全局安裝會(huì)提供我們一個(gè)命令行工具。 你是不是也在為可以使用ES6的新特性而興奮,卻不太確定應(yīng)該從哪開始,或者如何開始?不止你一個(gè)人這樣!我已經(jīng)花了一年半的時(shí)間去解決這個(gè)幸福的難題。在這段時(shí)間里 JavaScript 工具鏈中有幾個(gè)令人興奮的突破。 這些突破讓我們可以用ES6書寫完全的JS模塊,而不會(huì)為...
摘要:運(yùn)行時(shí)用來(lái)創(chuàng)建實(shí)例渲染并處理虛擬等的代碼?;旧暇褪浅ゾ幾g器的其它一切。版本可以通過(guò)標(biāo)簽直接用在瀏覽器中。為這些打包工具提供的默認(rèn)文件是只有運(yùn)行時(shí)的構(gòu)建。為瀏覽器提供的用于在現(xiàn)代瀏覽器中通過(guò)直接導(dǎo)入。 Vue版本:2.6.9 源碼結(jié)構(gòu)圖 ├─ .circleci // 包含CircleCI持續(xù)集成/持續(xù)部署工具的配置文件 ├─ .github ...
閱讀 2638·2021-11-23 09:51
閱讀 3173·2019-08-30 15:54
閱讀 1131·2019-08-30 14:14
閱讀 3602·2019-08-30 13:59
閱讀 1511·2019-08-29 17:09
閱讀 1537·2019-08-29 16:24
閱讀 2904·2019-08-29 15:43
閱讀 989·2019-08-29 12:45