Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

This example show how to add support for Labeled Modules by adding the plugin to the configuration.

example.js

require: "./increment"; var a = 1; increment(a); // 2

webpack.config.js

var webpack = require("../../"); module.exports = { plugins: [ new webpack.dependencies.LabeledModulesPlugin() ] }

increment.js

require: "./math"; exports: function increment(val) { return add(val, 1); };

math.js

exports: function add() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; };

js/output.js

/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "js/"; /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 1); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /*!**********************!*\  !*** ./increment.js ***!  \**********************/ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_LABELED_MODULE__ = __webpack_require__(/*! ./math */ 2), add = __WEBPACK_LABELED_MODULE__.add;	exports: exports["increment"] = function increment(val) { return add(val, 1); }; /***/ }, /* 1 */ /*!********************!*\  !*** ./example.js ***!  \********************/ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_LABELED_MODULE__ = __webpack_require__(/*! ./increment */ 0), increment = __WEBPACK_LABELED_MODULE__.increment; var a = 1; increment(a); // 2 /***/ }, /* 2 */ /*!*****************!*\  !*** ./math.js ***!  \*****************/ /***/ function(module, exports, __webpack_require__) {	exports: exports["add"] = function add() { var sum = 0, i = 0, args = arguments, l = args.length; while (i < l) { sum += args[i++]; } return sum; }; /***/ } /******/ ]);

The remaining labels are removed while minimizing.

Info

Uncompressed

Hash: be12e2072fd7c78b192b Version: webpack 2.0.6-beta Time: 64ms Asset Size Chunks Chunk Names output.js 2.36 kB 0 [emitted] main chunk {0} output.js (main) 299 bytes [rendered] > main [1] ./example.js [0] ./increment.js 83 bytes {0} [built] labeled require ./increment [1] ./example.js 1:0-23 [1] ./example.js 55 bytes {0} [built] [2] ./math.js 161 bytes {0} [built] labeled require ./math [0] ./increment.js 1:0-18 

Minimized (uglify-js, no zip)

Hash: be12e2072fd7c78b192b Version: webpack 2.0.6-beta Time: 111ms Asset Size Chunks Chunk Names output.js 433 bytes 0 [emitted] main chunk {0} output.js (main) 299 bytes [rendered] > main [1] ./example.js [0] ./increment.js 83 bytes {0} [built] labeled require ./increment [1] ./example.js 1:0-23 [1] ./example.js 55 bytes {0} [built] [2] ./math.js 161 bytes {0} [built] labeled require ./math [0] ./increment.js 1:0-18