小梅梅的二狗子 小梅梅的二狗子
首页
  • fileReader
  • canvas
  • 【css世界】学习笔记
  • Vue

    • vue cli2 升级vue cli3 采坑记录
    • vue-cli3 项目 token.type.endsWith is not a function 生产事故分析
    • 使用vuepress 搭建团队文档
  • node

    • nodjs 爬取喜欢的的背景图片
    • 使用 puppeteer + nodejs 爬取喜欢的动漫资源
    • puppeteer爬取aspx网站
  • jenkins

    • Jenkins 从安装到自动部署h5
    • vue自动部署项目到服务器
    • jenkins自动打包前端代码并发布到测试或者生产
  • Vscode

    • Visual Studio Code 入门简介 常用插件介绍
    • vscode prettier eslint 插件格式化不生效的问题
  • 其他的

    • 声卡问题
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

qinyuanqi

搬砖使我变强!冲!!!
首页
  • fileReader
  • canvas
  • 【css世界】学习笔记
  • Vue

    • vue cli2 升级vue cli3 采坑记录
    • vue-cli3 项目 token.type.endsWith is not a function 生产事故分析
    • 使用vuepress 搭建团队文档
  • node

    • nodjs 爬取喜欢的的背景图片
    • 使用 puppeteer + nodejs 爬取喜欢的动漫资源
    • puppeteer爬取aspx网站
  • jenkins

    • Jenkins 从安装到自动部署h5
    • vue自动部署项目到服务器
    • jenkins自动打包前端代码并发布到测试或者生产
  • Vscode

    • Visual Studio Code 入门简介 常用插件介绍
    • vscode prettier eslint 插件格式化不生效的问题
  • 其他的

    • 声卡问题
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 日常采坑

  • 前端框架

    • Vue

    • node

    • Angular

    • backbone

    • requirejs

      • requirejs 不完全指南
    • 部署相关

    • 微信

    • 网易

    • 浏览器

    • 七牛云

    • 前端
    • 前端框架
    • requirejs
    qinyuanqi
    2023-04-26
    目录

    requirejs 不完全指南

    # requirejs 不完全指南

    • 官网传送门 (opens new window)
    • requirejs学习资料 (opens new window)
    • requirejs优化工具 (opens new window)

    require.js要求,每个模块是一个单独的js文件。这样的话,如果加载多个模块,就会发出多次HTTP请求,会影响网页的加载速度。因此,require.js提供了一个优化工具,当模块部署完毕以后,可以用这个工具将多个模块合并在一个文件中,减少HTTP请求数

    • data-main属性的作用
     <script src="js/require.js" data-main="js/main"></script>
    
    1
    //主播块的一般写法
    
    //设置模块路径
    require.config({  
        //设置模块根目录
        // c: "./",
    
        //设置引入模块路径 默认文件后缀名为js,请在模块的相对路径这一块省略后缀名
        paths: {      
            "aa": "aa",
         "underscore": "underscore.min",
         "backbone": "backbone.min"    
        }  
    });
     
    require(['aa', 'bb', 'cc'], function (aa) {   
       console.log(aa.aa);
       console.log(aa.a());
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把main.js简写成main

    • require example

    require.js加载的模块,采用AMD规范。也就是说,模块必须按照AMD的规定来写 具体来说,就是模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中

    定义方式

      // math.js
      define(function (){
        var add = function (x,y){
          return x+y;
        };
        return {
          add: add
        };
      });
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    # 加载方式

    (1)独立模块加载

    //  写法1 
    define({
        method1: function() {},
        method2: function() {},
    });
    //  写法2
    define(function () {
        return {
            method1: function() {},
            method2: function() {},
        };
    });
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    (2)非独立模块加载

        //写法1
      require(['math'], function (math){
        alert(math.add(1,1));
      });
    
    1
    2
    3
    4
        //写法2
        define(
            function (require) {
                var dep1 = require('dep1'),
                    dep2 = require('dep2'),
                    dep3 = require('dep3'),
                    dep4 = require('dep4'),
                    dep5 = require('dep5'),
                    dep6 = require('dep6'),
                    dep7 = require('dep7'),
                    dep8 = require('dep8');
            }
        });
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性

    define(['myLib'], function(myLib){
        function foo(){
          myLib.doSomething();
        }
        return {
          foo : foo
        };
      });
    
    1
    2
    3
    4
    5
    6
    7
    8
    上次更新: 2023/12/18, 15:00:26
    backbone快速入门
    Jenkins 从安装到自动部署h5

    ← backbone快速入门 Jenkins 从安装到自动部署h5→

    最近更新
    01
    若依3.8.5版本vue-cli升级到 5.0.8碰到的一些问题
    10-08
    02
    vuepress添加sitemap
    05-17
    03
    vscode Live Server 插件使用教程
    05-16
    更多文章>
    Theme by Vdoing | Copyright © 2019-2023 Evan Xu | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式