zoukankan      html  css  js  c++  java
  • webpack

    webpack 是一个模块打包器,主要目的是在浏览器上打包 JavaScript 文件。

    原理

    特性

    • 打包 CommonJs 和 AMD 模块(以及绑定)

    • 可创建单个或多个按需加载的块,以减少初始加载时间

    • 在编译期间会解决依赖关系,减少了运行时的大小

    • 加载器可以在编译时预处理文件,如 coffee-script 到 javascript

    示例代码

    // webpack is a module bundler
    // This means webpack takes modules with dependencies
    //   and emits static assets representing those modules.
    
    // dependencies can be written in CommonJs
    var commonjs = require("./commonjs");
    // or in AMD
    define(["amd-module", "../file"], function(amdModule, file) {
        // while previous constructs are sync
        // this is async
        require(["big-module/big/file"], function(big) {
             // for async dependencies webpack splits
             //  your application into multiple "chunks".
             // This part of your application is
             //  loaded on demand (Code Splitting)
            var stuff = require("../my/stuff");
            // "../my/stuff" is also loaded on demand
            //  because it's in the callback function
            //  of the AMD require
        });
    });
    
    
    require("coffee!./cup.coffee");
    // "Loaders" can be used to preprocess files.
    // They can be prefixed in the require call
    //  or configured in the configuration.
    require("./cup");
    // This does the same when you add ".coffee" to the extensions
    //  and configure the "coffee" loader for /.coffee$/
    
    
    function loadTemplate(name) {
        return require("./templates/" + name + ".jade");
        // many expressions are supported in require calls
        // a clever parser extracts information and concludes
        //  that everything in "./templates" that matches
        //  /.jade$/ should be included in the bundle, as it
        //  can be required.
    }
    
    
    // ... and you can combine everything
    function loadTemplateAsync(name, callback) {
        require(["bundle?lazy!./templates/" + name + ".jade"], 
          function(templateBundle) {
            templateBundle(callback);
        });
    }
  • 相关阅读:
    A. Ivan the Fool and the Probability Theory
    C2. Good Numbers (hard version)
    C. p-binary
    H. Happy Birthday
    idea使用goeasy实现webSocket
    idea新建一个maven项目
    FreeMaker入门介绍
    mui预加载
    mui底部选项卡切换实现
    BootStrap 学习笔记一
  • 原文地址:https://www.cnblogs.com/onesea/p/13297679.html
Copyright © 2011-2022 走看看