RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 921431
Accepted
Alexxosipov
Alexxosipov
Asked:2020-12-16 03:51:34 +0000 UTC2020-12-16 03:51:34 +0000 UTC 2020-12-16 03:51:34 +0000 UTC

webpack 从空的 js 文件生成代码

  • 772

我了解webpack,目前我有最常见的结构:

- dist 
    - fonts
    - images
    - less
        - app.less
    index.html
    index.js

App.less 连接到 index.js,在输出时从中获取单个 css 文件。index.js 内容:

import './less/app.less'

index.js 中没有其他内容。但是在汇编之后,缩小的代码出现在 index.js 中:

!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);r(1)},function(e,t,r){}]);
//# sourceMappingURL=bundle.js.map

我不明白它来自哪里?这是巴别塔的作品吗?

webpack
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    overthesanity
    2020-12-16T04:56:43Z2020-12-16T04:56:43Z

    不,它被称为webpackBootstrap。webpackBootstrap是一个 IIFE(立即调用函数表达式)函数,用于隔离加载和缓存模块的逻辑。

    webpack创建一个缓存(var t = {})(在概念webpack上它被称为installedModules),以及它自己的实现require(__webpack_require__):

    function r <-- сокращенно от `require` (n)....
    

    该函数将模块标识符作为参数。此函数检查模块是否已加载并在缓存中:

    if(t[n]) return t[n].exports;
    

    如果不是webpack,则调用导出工厂函数。从这里我们可以看出,无论一个特定的模块依赖多少个模块,该模块都会被加载一次并通过以下方式缓存:

    installedModules[moduleId] = {
      i: moduleId,
      l: false,
      exports: {}
    };
    

    正因为如此,模块可以毫无问题地进行通信,因为返回的是同一个对象的引用地址,所以如果模块改变了对象中某个属性的值,那么它就会与依赖于该模块的其他对象同步。

    由于require客户端不支持它,webpack它为所有模块之间的通信提供了自己的附加组件。ES || commonjs还有一些辅助函数可以检查一个 module( )是否属于某个系统。这可以放入一个单独的文件中:

    optimization: {
        runtimeChunk: true
    }
    
    • 2

相关问题

  • Webpack4 女巫 webpack.optimize.CommonsChunkPlugin

  • 使用Webpack时的代码错误只指向bundle.js文件

  • webpack 3 scss编译不起作用

  • 当我运行 webpack 时,出现此错误。可能是什么问题呢?

  • Webpack 开发服务器和 404(未找到)

  • vue.js 2 && webpack-简单 && 样式加载器

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5