`

入口之__webpack_require__

 
阅读更多

此处module,exports并不是commonJS、CMD、AMD规范的module,exports

而是webpack自定义的对象

 

module和chunk是不同的设定,

chunk可以理解为一个个的js文件,

module理解为chunk文件的组成部分,根据功能划分的代码块

/******/ 	// 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] = {
/******/ 			i: moduleId,
/******/ 			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;
/******/ 	}

 

每个module加载后,都通过这个方法进行执行

modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

 

 

分享到:
评论

相关推荐

    webpackvue2多入口配置实例

    本篇文章将详细探讨如何在Webpack中为Vue 2项目配置多入口(Multiple Entry Points),以便构建多个独立的页面或应用。 首先,我们需要理解Webpack的"入口"概念。入口是Webpack构建流程的起点,它定义了从哪个模块...

    webpack打包教程.zip_webpack打包原理vue

    2. **模块解析(Module Resolution)**:Webpack 解析入口文件中的import或require语句,找出所有依赖的模块。 3. **加载器(Loaders)**:转换非JavaScript模块,如CSS、图片等,使其能够被JavaScript环境识别和...

    webpack是如何实现模块化加载的方法

    入口模块的路径是通过__webpack_require__.s属性指定的。Webpack将入口模块作为参数传入启动函数,并将模块缓存在闭包中,如下所示: ```javascript (function(modules) { // 加载入口模块并导出(实现启动程序) ...

    webpack_tutorail:Webpackの勉强用

    4. **Entry 和 Output**:Webpack 配置中的 `entry` 指定了项目的入口点,可以是一个文件或多个文件。`output` 则定义了打包后输出的文件结构和文件名,以及公共路径(publicPath)。 5. **Chunk 分割**:Webpack ...

    Webpack2multipleentry基于webpack2实现的多入口项目脚手架

    Webpack 2 多入口项目脚手架是一种用于构建前端应用的高效工具,它允许开发者针对不同的模块或页面创建多个入口点,从而实现代码的模块化和优化。在本项目脚手架中,Webpack 2 被用作模块打包器,帮助我们将多个独立...

    webpack多页面项目配置

    const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { // ... plugins: [ new HtmlWebpackPlugin({ filename: 'index.html', template: './src/index.html', chunks: ['index'] }...

    webpack_temp.zip

    const HtmlWebpackPlugin = require('html-webpack-plugin'); plugins: [ new HtmlWebpackPlugin({ filename: 'page1.html', template: 'src/page1.html', chunks: ['page1'], }), new HtmlWebpackPlugin...

    webpack_use:webpack学习与测试

    在深入探讨 webpack 使用方法之前,首先需要理解它的基本概念:入口(entry)、输出(output)、加载器(loaders)和插件(plugins)。这些是构建流程的核心部分。 **入口(Entry)**: Webpack 的构建始于入口,它...

    【webpack_01配置】手把手从0开始启动、打包html和js文件(最简版)

    在`webpack_01`目录下,创建一个名为`webpack.config.js`的文件,这是Webpack的配置入口。配置文件的基本结构如下: ```javascript const path = require('path'); module.exports = { entry: './src/index.js', ...

    webpack的学习案例

    2. **入口(Entry)**:Webpack 打包过程的起点,定义了项目的主要入口文件,可以是单个入口或多个入口。 3. **输出(Output)**:定义了打包后文件的输出路径和文件名,用于告诉Webpack将打包好的文件保存到哪里。...

    Webpack打包实例测试代码

    const path = require('path'); module.exports = { entry: './src/index.js', // 入口文件 output: { path: path.resolve(__dirname, 'dist'), // 输出目录 filename: 'bundle.js' // 输出文件名 }, module: ...

    webpack1.x指导文档

    入口文件的路径用于指定 Webpack 应该从哪个文件开始处理依赖关系。可以是单个文件路径,也可以是对象形式指定多个入口文件。 ```javascript entry: { main: './src/main.js', // 主入口文件 vendor: './src/...

    Webpack4多页面应用初始构建

    Webpack 4 支持多页面应用的构建,通过配置入口点、输出、插件和模块处理规则,可以有效地管理多个页面的资源。理解并熟练掌握Webpack的配置和工作原理,能显著提升前端项目的构建效率和维护性。

    React_TypeScript_Webpack:使用TypeScript和Webpack进行React的基本模板设置

    const HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { entry: './src/index.tsx', // 入口文件 output: { path: __dirname + '/dist', // 输出目录 filename: 'bundle.js' // 输出的...

    一个自己写的webpack单入口demo支持开发模式和生产模式两种方式

    在这个名为"webpack-simple-demo-master"的压缩包中,我们很可能会找到一个简单的Webpack配置示例,它演示了如何为一个项目设置单个入口点,并支持两种模式:开发模式和生产模式。 在Web开发中,Webpack 负责将源...

    webpack demo

    1. **模块**:Webpack 看待任何文件(JS、CSS、图片等)都是模块,它们可以通过`import`或`require`进行引用。 2. **Entry**:入口(entry)是Webpack构建流程的起点,定义了哪些模块需要被打包。在这个demo中,可能...

    webpack4整合vue

    - **模块**:Webpack 将所有资源视为模块,通过 `import` 或 `require` 进行引用。 - **打包过程**:Webpack 执行编译时,会遍历依赖树,生成一个或多个 bundle。 2. **Vue.js 简介** - **Vue** 是由尤雨溪开发...

    es6 + webpack热更新

    在 Webpack 配置文件(通常为 `webpack.config.js`)中添加这个插件,同时需要在入口文件(如 `index.js`)设置合适的热更新配置,比如: ```javascript // webpack.config.js const path = require('path'); const...

    webpack-many-page

    Webpack 的核心在于它的工作流程,它通过`entry`(入口)、`module`(模块)、`output`(输出)以及`loaders`和`plugins`(加载器与插件)四大核心概念来工作。在这个项目中,"many-page"暗示我们将学习如何处理多个...

    webpack_starter:WEBPACK基本配置文件

    Webpack 是一个流行的 JavaScript 应用程序打包工具,它将各种模块和资源组合成单个或多个优化过的静态文件,便于部署到生产环境。在 `webpack_starter` 中,我们将探讨 Webpack 的基本配置,了解如何安装和启动项目...

Global site tag (gtag.js) - Google Analytics