小程序定制解决方法_require.js中的define函数详解

  • 栏目:公司新闻 时间:2021-01-11 16:21 分享新闻到:
<返回列表

require.js中的define函数详解       这篇文章主要给大家介绍了关于require.js中define函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用require.js中的define函数具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

前言

模块不同于传统的脚本文件,它良好地定义了一个作用域来避免全局名称空间污染。它可以显式地列出其依赖关系,并以函数(定义此模块的那个函数)参数的形式将这些依赖进行注入,而无需引用全局变量。RequireJS的模块是模块模式的一个扩展,其好处是无需全局地引用其他模块。 RequireJS的模块语法允许它尽快地加载多个模块,虽然加载的顺序不定,但依赖的顺序最终是正确的。同时因为无需创建全局变量,甚至可以做到在同一个页面上同时加载同一模块的不同版本。

在定义一个模块的时候,方法的第一行写一个“use strict”;这是干什么的?

use strict --严格模式,这种模式使得Javascript在更严格的条件下运行。

消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为; 消除代码运行的一些不安全之处,保证代码运行的安全; 提高编译器效率,增加运行速度; 为未来新版本的Javascript做好铺垫。

1. 简单的值对模块

其实就是把文件名称作为name参数传入,若依赖该组件那么返回的就是一个对象!

define({
 name: "hehe",
 age: "18"
});

2. 简单的函数模块

和上面一样文件名称作为默认的name,与上面的差异是,可以提前执行返回值外的代码

define(function() {
 return {
 name: "hehe",
 age: "18"
});

3. 依赖函数模块

define([
 'angular',
 'jsUtil',
 'modules/meet/modules',
 'modules/meet/services/Meet',
 'modules/meet/services/MeetRemoteService'
],function(require) {
 'use strict';
 var module = angular.module('meet.services');
 module.factory('MeetService', function(Meet, MeetRemoteService) {
 var service = {
 name: 'hehe',
 age: '18'
 return service;
});

和上面一样,关键是依赖模块是以返回值作为入参的形式传入,如果加载错误或者没有找到对应的模块,那么得到的入参是Undefiend,需要注意!

4. 返回函数模块

define([
 'angular',
 'jsUtil',
 'modules/meet/modules',
 'modules/meet/services/Meet',
 'modules/meet/services/MeetRemoteService'
],function(require) {
 'use strict';
 var module = angular.module('meet.services');
 module.factory('MeetService', function(Meet, MeetRemoteService) {
 var service = {};
 service.getWeekOfMeet = function(weekFlag, date) {
 return MeetRemoteService.get(weekFlag, date).then(function(data) {
 data.content = Meet.sortMeet(data.content);
 return data;
 return service;
});

和上面一样,这里返回的是函数,在依赖模块中把他作为函数对象调用即可,其实这是一个简单的闭包!

5. 完整定义

define('sample3' ,['sample','sample1'],function (sample,sample1) {
 var sample4 = require('sample4');
 return function(){
 alert(sample.name+':'+sample.sayhell());
});

这就是完整定义,有名称,有依赖,mon的形式引入依赖对象!

关于define函数的name和require函数的依赖名称之间的关系

define(name,[] , callback); 这个name可以省掉,默认是文件名称;当然也可以自定义,一旦我们定义了name,根据源代码我们可以发现define函数内部其实就是把这个name以及依赖模块、回调函数作为一个对象存储在全局的数组当中,也就是 defQueue.push([name,de凡科抠图,callback]);那么这个name就是这个组件注册的的ID!

require([name , name2],callback); 系统首先会在全文检索path中是否对应的路径,如果没有自然把他作为路径拼接在baseUrl上去异步加载这个js文件,加载时从源代码中可以看到 ,var data = getScriptData(evt);返回的 data.id pleteLoad(node.id) ,其内部就很清楚了,把define中注册的name和这里得到的name进行比较如果相等就执行。所以道理就是:require 和 define 的 name 必须保证一致!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对凡科的支持。

分享新闻到:

更多阅读

小程序定制解决方法_require.js中的define函

公司新闻 2021-01-11
require.js中的define涵数详细说明 本文关键给大伙儿详细介绍了有关require.js中define涵数的有...
查看全文

会员管理小程序_vue+vux完成移动端文件上

公司新闻 2021-01-11
vue+vux完成手机端文档提交款式 本文关键详细介绍了vue+vux完成手机端文档提交款式,款式...
查看全文

营销型网站建设特点-成都网络推广有什么

公司新闻 2021-01-11
公司互联网SEO是当今十分受欢迎的营销推广方法,如今也是公司发展趋势中营销推广标准配置...
查看全文
返回全部新闻


区域站点: 南丰县自建免费网站   南宫市凡科网建站   囊谦县网站建设平台有哪些   南和县凡客建站   南华县自建免费网站   南江县凡科网建站   南京市网站建设平台有哪些   南靖县凡客建站   南康市自建免费网站   南乐县凡科网建站   南陵县网站建设平台有哪些   南宁市凡客建站   南平市自建免费网站   南皮县凡科网建站   南市区网站建设平台有哪些   南通市凡客建站   南投县自建免费网站   南雄市凡科网建站   南溪县网站建设平台有哪些   南阳市凡客建站   南漳县自建免费网站   南召县凡科网建站   南郑县网站建设平台有哪些   那坡县凡客建站   那曲县自建免费网站   纳雍县凡科网建站   讷河市网站建设平台有哪些   内黄县凡客建站   内江市自建免费网站   内丘县凡科网建站   内乡县网站建设平台有哪些   嫩江市凡客建站   聂荣县自建免费网站   尼玛县凡科网建站   尼木县网站建设平台有哪些   宁安市凡客建站   宁波市自建免费网站   宁城县凡科网建站   宁德市网站建设平台有哪些   宁都县凡客建站   宁国市自建免费网站   宁海县凡科网建站   宁化县网站建设平台有哪些   宁晋县凡客建站   宁陵县自建免费网站   宁明县凡科网建站   宁南县网站建设平台有哪些   宁强县凡客建站   宁陕县自建免费网站   宁武县凡科网建站   宁乡市网站建设平台有哪些   宁阳县凡客建站   宁远县自建免费网站   农安县凡科网建站   磐安县网站建设平台有哪些   盘锦市凡客建站   盘山县自建免费网站   磐石市凡科网建站   盘州市网站建设平台有哪些   蓬安县凡客建站   澎湖县自建免费网站   蓬莱市凡科网建站   彭山县网站建设平台有哪些   蓬溪县凡客建站   彭阳县自建免费网站   彭泽县凡科网建站   彭州市网站建设平台有哪些   偏关县凡客建站   平安县自建免费网站   平昌县凡科网建站   平定县网站建设平台有哪些   屏东县凡客建站   平度市自建免费网站   平果县凡科网建站   平和县网站建设平台有哪些   平湖市凡客建站   平江县自建免费网站   平乐县凡科网建站   平凉市网站建设平台有哪些   平利县凡客建站   平罗县自建免费网站   平陆县凡科网建站   屏南县网站建设平台有哪些   平泉市凡客建站   屏山县自建免费网站   平顺县凡科网建站   平塘县网站建设平台有哪些   平潭县凡客建站   平武县自建免费网站   萍乡市凡科网建站   平乡县网站建设平台有哪些   平阳县凡客建站   平遥县自建免费网站   平阴县凡科网建站   平邑县网站建设平台有哪些   平远县凡客建站   平舆县自建免费网站   皮山县凡科网建站   普安县网站建设平台有哪些   浦北县凡客建站   浦城县自建免费网站   普洱市凡科网建站   普格县网站建设平台有哪些   浦江县凡客建站   普兰县自建免费网站   普宁市凡科网建站   莆田市网站建设平台有哪些   迁安市凡客建站   乾安县自建免费网站   潜江市凡科网建站   潜山市网站建设平台有哪些  

友情链接: 自助建网站 小程序建站 企业建站 凡科建站登录 手机版

Copyright © 2002-2020 网站建设平台有哪些_凡客建站_自建免费网站_凡科网建站_怎么建设自己网站 版权所有 (网站地图) 备案号:粤ICP备10235580号