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);
        });
    }
  • 相关阅读:

    windows+php+redis的安装
    redis配置
    vim常用快捷键
    php数组的操作技巧
    python3与mysql数据库连接方式
    linux下删除文件夹,修改文件夹下所有文件的权限命令
    Linux下 “.tar.gz”格式的解压与压缩
    Linux解压tar.gz文件时提示gzip:stdin:not in gzip format 错误
    Ubuntu 18.04中安装docker,再在docker中安装mysql,及遇见问题
  • 原文地址:https://www.cnblogs.com/onesea/p/13297679.html
Copyright © 2011-2022 走看看