美文网首页
【01】webpack4.0教程_基础_2

【01】webpack4.0教程_基础_2

作者: Peter_Tingle | 来源:发表于2019-07-11 23:48 被阅读0次

[toc]

粗略看基础_1打包后的bundle.js源码

自执行函数;将依赖的模块作为一个对象,通过入口文件,递归解析依赖关系

/******/ (function(modules) { // webpackBootstrap
/******/    // The module cache 
//==================== 定义一个缓存 加载完的模块可以取缓存中的
/******/    var installedModules = {};
/******/    // The require function
//==================== 实现一个require方法 require不能在浏览器中运行 在此实现
/******/    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] = {
/******/            i: moduleId,
// ==================== l表示是否加载完成
/******/            l: false,
/******/            exports: {}
/******/        };
/******/        // Execute the module function
/******/        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/        // Flag the module as loaded
/******/        module.l = 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;
/******/    // define getter function for harmony exports
/******/    __webpack_require__.d = function(exports, name, getter) {
/******/        if(!__webpack_require__.o(exports, name)) {
/******/            Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/        }
/******/    };
/******/    // define __esModule on exports
/******/    __webpack_require__.r = function(exports) {
/******/        if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/            Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/        }
/******/        Object.defineProperty(exports, '__esModule', { value: true });
/******/    };
/******/    // create a fake namespace object/******/   // mode & 1: value is a module id, require it/******/   // mode & 2: merge all properties of value into the ns/******/  // mode & 4: return value when already ns object/******/    // mode & 8|1: behave like require
/******/    __webpack_require__.t = function(value, mode) {
/******/        if(mode & 1) value = __webpack_require__(value);
/******/        if(mode & 8) return value;
/******/        if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/        var ns = Object.create(null);
/******/        __webpack_require__.r(ns);
/******/        Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/        if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/        return ns;
/******/    };
/******/    // getDefaultExport function for compatibility with non-harmony modules
/******/    __webpack_require__.n = function(module) {
/******/        var getter = module && module.__esModule ?
/******/            function getDefault() { return module['default']; } :
/******/            function getModuleExports() { return module; };
/******/        __webpack_require__.d(getter, 'a', getter);
/******/        return getter;
/******/    };
/******/    // Object.prototype.hasOwnProperty.call
/******/    __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/    // __webpack_public_path__
/******/    __webpack_require__.p = "";
/******/    // Load entry module and return exports
// ==================== 入口模块入手
/******/    return __webpack_require__(__webpack_require__.s = "./src/index.js"); 
/******/ })
/******/ ({
// ==================== key
/***/ "./src/a.js":
/*!******************!*\!*** ./src/a.js ***!\******************//*! no static exports found */
 //===============value 一个函数
/***/ (function(module, exports) {
eval("console.log('a.js')\n\n//# sourceURL=webpack:///./src/a.js?");
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// =========== 又执行__webpack_require() 引入a.js 一个递归
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _a_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./a.js */ \"./src/a.js\");\n/* harmony import */ var _a_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_a_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconsole.log('hello world1')\n\n//# sourceURL=webpack:///./src/index.js?");
/***/ })
/******/ });

更改配置文件名称_ webpack.config.js文件名

  • 基础_1中最后,配置文件webpack.confif.js文件名可以改变,需要<font color="red">执行如下命令</font>:

命令

npx webpack --config [文件名]
  • webpack将依照[文件名]此文件中的配置进行打包
image

package.json的命令脚本

命令太长,可在package.json中配置命令脚本;不用带npx,会自动到node_modules下找webpack命令,build是设置在package.json中scripts下的命令

命令

npm run build
image

相关文章

  • 【01】webpack4.0教程_基础_2

    [toc] 粗略看基础_1打包后的bundle.js源码 自执行函数;将依赖的模块作为一个对象,通过入口文件,递归...

  • 【01】webpack4.0教程_基础_1

    学习webpack4.0的笔记,循序渐进,后续会再做系统总结 [toc] webpack安装 总结 安装本地的we...

  • 前端打怪升级指南

    专题 【一统江湖的大前端】系列 【javascript基础修炼】系列 【Webpack4.0中级教程】系列 【野生...

  • 送礼红酒怎么包?瓶子礼物怎么包装?

    瓶形礼物包装方法。 礼盒先生 基础礼物包装教程006-酒瓶01【图文版】 1. 基础礼物包装006-酒瓶01↓ 2...

  • webpack4.0 基础知识

    1. webpack基础配置 webpack4.0必须安装webpack和wabpck-cli webpack可以...

  • webpack4.0 进阶

    上一篇,总结了 webpack4.0 基础,其中包括: 核心的 entry、output、mode、loaders...

  • Android教程

    step 01初级教程 8天快速掌握Android-视频教程 Android核心基础课程 Android基础视频教...

  • Flutter 零基础入门实战视频教程(28 个视频)

    Flutter 零基础入门实战视频教程(28 个视频) Flutter 零基础入门实战视频教程 #01 环境搭建[...

  • webpack4.0 基础

    前端构建工具对比 作用: 把源代码转换成发布到线上的可执行 JS CSS HTML 代码; 代码转换、文件优化、代...

  • MySQL基础必知必会

    MySQL 教程--检视阅读 准备:Windows 上安装 MySQL 教程地址,PHP语言基础 教程地址2 教程...

网友评论

      本文标题:【01】webpack4.0教程_基础_2

      本文链接:https://www.haomeiwen.com/subject/waqskctx.html