vue-cli lib模式打包umd分析
阿新 • • 發佈:2020-09-01
這裡分析的是打包後生成的.umd.js檔案
- 最外部立即執行函式
(webpackUniversalModuleDefinition(root, factory){})() //立即執行引數一 root->(typeof self !== 'undefined' ? self : this) //立即執行引數二 factory引數中也是一個立即執行的匿名函式,引數為大量的模組key為模組名,value為具體模組內部 factory->function(__WEBPACK_EXTERNAL_MODULE__8bbf__){(function(modules){})({key:value,key:value,key:value......})}
- webpackUniversalModuleDefinition方法體
if(typeof exports === 'object' && typeof module === 'object')
//node
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
//AMD規範
define([], factory);
else if(typeof exports === 'object')
//commonJS規範
else
//瀏覽器全域性
root["netovue"] = factory(root["Vue"]);
- factory的執行
return /******/ (function(modules) { /******/ // webpackBootstrap /******/ // 快取載入的模組 /******/ var installedModules = {}; /******/ /******/ // 獲取指定id的模組 /******/ function __webpack_require__(moduleId) {