Coder Social home page Coder Social logo

minipack's Introduction

minipack

打包原理

给予一个入口文件,然后利用文件读取模块将文件中的内容读取出来,并且扫描import把依赖收集起来,再去递归调用依赖中的文件,逐个将所有文件的内容,和依赖确定且收集。然后再打包到一起。

HMR-热更新原理

在本地上开启一个websokect服务,建立服务端和客户端的双向通信,再利用监听文件的变化去重新加载变换了的模块。如果出现错误了,则会强制刷新。

plugin-插件

插件就是利用 Webpack 暴露的钩子(hooks)来扩展和定制 Webpack 的功能。插件可以注册到特定的钩子上,在特定的时机执行自定义的逻辑代码。

  • 自定义plugin:定义一个js方法或者js类,使他的原型或者类上拥有apply方法,然后在apply方法内给予调用的时机(暴露的钩子-hooks)
  • 揭秘webpack plugin | ChampYin's Blog

loader-加载器

由于webpack只识别js,所以需要利用loader来将一些不属于js的文件转换为文件,比如一些style-loader,scss-loader等等。其中可以设置两个函数pitch和loader

此时我有个疑问。关于plugin是否可以做loader的事情。理论上应该可以。但是loader是由匹配文件后缀去执行,可能做转换的方向更加完美,plugin只是在webpack上的钩子上调用,也许并不知道当前需要处理的数据或者内容是什么类型的内容。

minipack's People

Contributors

hygag avatar

Watchers

Huangyuan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.