2014-06-12 04:52:18 +08:00
|
|
|
# example.js
|
|
|
|
|
2019-04-09 02:29:40 +08:00
|
|
|
```javascript
|
2014-06-12 04:52:18 +08:00
|
|
|
if(ENV === "mobile") {
|
|
|
|
require("./mobile-stuff");
|
|
|
|
}
|
|
|
|
console.log("Running " + ENV + " build");
|
|
|
|
```
|
|
|
|
|
|
|
|
# webpack.config.js
|
|
|
|
|
2019-04-09 02:29:40 +08:00
|
|
|
```javascript
|
2014-06-12 04:52:18 +08:00
|
|
|
var path = require("path");
|
|
|
|
var webpack = require("../../");
|
|
|
|
module.exports = [
|
|
|
|
{
|
2014-06-12 12:38:39 +08:00
|
|
|
name: "mobile",
|
2023-03-12 10:27:40 +08:00
|
|
|
// mode: "development" || "production",
|
2014-06-12 04:52:18 +08:00
|
|
|
entry: "./example",
|
|
|
|
output: {
|
2018-01-05 04:39:29 +08:00
|
|
|
path: path.join(__dirname, "dist"),
|
2014-06-12 04:52:18 +08:00
|
|
|
filename: "mobile.js"
|
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
new webpack.DefinePlugin({
|
|
|
|
ENV: JSON.stringify("mobile")
|
|
|
|
})
|
|
|
|
]
|
|
|
|
},
|
2018-01-22 22:18:54 +08:00
|
|
|
|
2014-06-12 04:52:18 +08:00
|
|
|
{
|
2014-06-12 12:38:39 +08:00
|
|
|
name: "desktop",
|
2023-03-12 10:27:40 +08:00
|
|
|
// mode: "development" || "production",
|
2014-06-12 04:52:18 +08:00
|
|
|
entry: "./example",
|
|
|
|
output: {
|
2018-01-05 04:39:29 +08:00
|
|
|
path: path.join(__dirname, "dist"),
|
2014-06-12 04:52:18 +08:00
|
|
|
filename: "desktop.js"
|
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
new webpack.DefinePlugin({
|
|
|
|
ENV: JSON.stringify("desktop")
|
|
|
|
})
|
|
|
|
]
|
|
|
|
}
|
|
|
|
];
|
|
|
|
```
|
|
|
|
|
2018-01-05 04:39:29 +08:00
|
|
|
# dist/desktop.js
|
2014-06-12 04:52:18 +08:00
|
|
|
|
2019-04-09 02:29:40 +08:00
|
|
|
```javascript
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ (() => { // webpackBootstrap
|
2021-08-20 14:12:50 +08:00
|
|
|
var __webpack_exports__ = {};
|
2014-06-12 04:52:18 +08:00
|
|
|
/*!********************!*\
|
|
|
|
!*** ./example.js ***!
|
|
|
|
\********************/
|
2020-05-21 05:26:51 +08:00
|
|
|
/*! unknown exports (runtime-defined) */
|
2018-12-19 21:05:17 +08:00
|
|
|
/*! runtime requirements: */
|
2018-01-20 00:06:59 +08:00
|
|
|
if(false) {}
|
2016-09-07 18:28:56 +08:00
|
|
|
console.log("Running " + "desktop" + " build");
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ })()
|
|
|
|
;
|
2014-06-12 04:52:18 +08:00
|
|
|
```
|
|
|
|
|
2018-01-05 04:39:29 +08:00
|
|
|
# dist/mobile.js
|
2014-06-12 04:52:18 +08:00
|
|
|
|
2019-04-09 02:29:40 +08:00
|
|
|
```javascript
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ (() => { // webpackBootstrap
|
|
|
|
/******/ var __webpack_modules__ = ([
|
|
|
|
/* 0 */,
|
|
|
|
/* 1 */
|
|
|
|
/*!*************************!*\
|
|
|
|
!*** ./mobile-stuff.js ***!
|
|
|
|
\*************************/
|
2020-05-21 05:26:51 +08:00
|
|
|
/*! unknown exports (runtime-defined) */
|
2019-10-11 05:11:05 +08:00
|
|
|
/*! runtime requirements: */
|
|
|
|
/***/ (() => {
|
|
|
|
|
|
|
|
// mobile only stuff
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
/******/ ]);
|
2019-11-19 21:10:28 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
<details><summary><code>/* webpack runtime code */</code></summary>
|
|
|
|
|
|
|
|
``` js
|
2019-10-11 05:11:05 +08:00
|
|
|
/************************************************************************/
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ // The module cache
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ var __webpack_module_cache__ = {};
|
|
|
|
/******/
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ // The require function
|
|
|
|
/******/ function __webpack_require__(moduleId) {
|
|
|
|
/******/ // Check if module is in cache
|
2021-08-20 14:12:50 +08:00
|
|
|
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
|
|
/******/ if (cachedModule !== undefined) {
|
|
|
|
/******/ return cachedModule.exports;
|
2017-05-23 04:45:18 +08:00
|
|
|
/******/ }
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ // Create a new module (and put it into the cache)
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ var module = __webpack_module_cache__[moduleId] = {
|
2020-05-21 05:26:51 +08:00
|
|
|
/******/ // no module.id needed
|
|
|
|
/******/ // no module.loaded needed
|
2016-06-06 02:51:44 +08:00
|
|
|
/******/ exports: {}
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ };
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ // Execute the module function
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
|
|
/******/
|
2014-06-12 04:52:18 +08:00
|
|
|
/******/ // Return the exports of the module
|
|
|
|
/******/ return module.exports;
|
|
|
|
/******/ }
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/
|
2014-06-12 04:52:18 +08:00
|
|
|
/************************************************************************/
|
2019-11-19 21:10:28 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
``` js
|
2021-08-20 14:12:50 +08:00
|
|
|
var __webpack_exports__ = {};
|
2024-10-12 16:38:03 +08:00
|
|
|
// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
|
2020-05-21 05:26:51 +08:00
|
|
|
(() => {
|
2014-06-12 04:52:18 +08:00
|
|
|
/*!********************!*\
|
|
|
|
!*** ./example.js ***!
|
|
|
|
\********************/
|
2020-05-21 05:26:51 +08:00
|
|
|
/*! unknown exports (runtime-defined) */
|
2018-12-19 21:05:17 +08:00
|
|
|
/*! runtime requirements: __webpack_require__ */
|
2016-09-07 18:28:56 +08:00
|
|
|
if(true) {
|
2017-06-05 22:12:12 +08:00
|
|
|
__webpack_require__(/*! ./mobile-stuff */ 1);
|
2016-09-07 18:28:56 +08:00
|
|
|
}
|
|
|
|
console.log("Running " + "mobile" + " build");
|
2020-05-21 05:26:51 +08:00
|
|
|
})();
|
|
|
|
|
2019-10-11 05:11:05 +08:00
|
|
|
/******/ })()
|
|
|
|
;
|
2014-06-12 04:52:18 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
# Info
|
|
|
|
|
2017-12-14 17:58:03 +08:00
|
|
|
## Unoptimized
|
2014-06-12 04:52:18 +08:00
|
|
|
|
|
|
|
```
|
2020-09-21 04:39:12 +08:00
|
|
|
mobile:
|
2021-08-20 14:12:50 +08:00
|
|
|
asset mobile.js 1.74 KiB [emitted] (name: main)
|
2020-12-11 17:29:32 +08:00
|
|
|
chunk (runtime: main) mobile.js (main) 114 bytes [entry] [rendered]
|
2020-09-21 04:39:12 +08:00
|
|
|
> ./example main
|
|
|
|
dependent modules 20 bytes [dependent] 1 module
|
|
|
|
./example.js 94 bytes [built] [code generated]
|
|
|
|
[used exports unknown]
|
|
|
|
entry ./example main
|
2023-04-08 06:23:22 +08:00
|
|
|
mobile (webpack 5.78.0) compiled successfully
|
2020-09-21 04:39:12 +08:00
|
|
|
|
|
|
|
desktop:
|
2021-08-20 14:12:50 +08:00
|
|
|
asset desktop.js 292 bytes [emitted] (name: main)
|
2020-12-11 17:29:32 +08:00
|
|
|
chunk (runtime: main) desktop.js (main) 94 bytes [entry] [rendered]
|
2020-09-21 04:39:12 +08:00
|
|
|
> ./example main
|
|
|
|
./example.js 94 bytes [built] [code generated]
|
|
|
|
[used exports unknown]
|
|
|
|
entry ./example main
|
2023-04-08 06:23:22 +08:00
|
|
|
desktop (webpack 5.78.0) compiled successfully
|
2014-06-12 04:52:18 +08:00
|
|
|
```
|
|
|
|
|
2017-12-14 17:58:03 +08:00
|
|
|
## Production mode
|
2014-06-12 04:52:18 +08:00
|
|
|
|
|
|
|
```
|
2020-09-21 04:39:12 +08:00
|
|
|
mobile:
|
2021-08-20 14:12:50 +08:00
|
|
|
asset mobile.js 195 bytes [emitted] [minimized] (name: main)
|
2020-09-21 04:39:12 +08:00
|
|
|
chunk (runtime: main) mobile.js (main) 114 bytes [entry] [rendered]
|
|
|
|
> ./example main
|
|
|
|
dependent modules 20 bytes [dependent] 1 module
|
|
|
|
./example.js 94 bytes [built] [code generated]
|
|
|
|
[no exports used]
|
|
|
|
entry ./example main
|
2023-04-08 06:23:22 +08:00
|
|
|
mobile (webpack 5.78.0) compiled successfully
|
2020-09-21 04:39:12 +08:00
|
|
|
|
|
|
|
desktop:
|
|
|
|
asset desktop.js 37 bytes [emitted] [minimized] (name: main)
|
|
|
|
chunk (runtime: main) desktop.js (main) 94 bytes [entry] [rendered]
|
|
|
|
> ./example main
|
|
|
|
./example.js 94 bytes [built] [code generated]
|
|
|
|
[no exports used]
|
|
|
|
entry ./example main
|
2023-04-08 06:23:22 +08:00
|
|
|
desktop (webpack 5.78.0) compiled successfully
|
2019-04-09 02:29:40 +08:00
|
|
|
```
|