RequireJS:回调函数的依赖项和参数计数不同

RequireJS: Different count of dependencies and params at callback function(RequireJS:回调函数的依赖项和参数计数不同)
本文介绍了RequireJS:回调函数的依赖项和参数计数不同的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有遗留代码和如下模块定义:

define(["a", "b", "c", "d"], function(a, b, c) {
    ...
});

您可以看到,我们在模块中使用的依赖项比实际参数多。

这有什么意义吗?我认为模块"d"是多余的。

推荐答案

定义的依赖项列表比在define调用的工厂函数上声明的传递参数列表长,这在RequireJS中很常见,并不表示代码有问题。

例如,当将jQuery与插件一起使用时,出现如下内容是完全正常的:

define(['jquery', 'jquery.foo'], function ($) {
    // Use the foo plugin.
    $('p').foo(...)

其中‘jquery.foo’是实现jQuery插件的模块。jQuery插件将自身作为jQuery对象(我们在上面的代码中作为$获得)上的方法安装。当这类插件使用RequireJS加载时,它们通常没有有用的模块值。如果将上述函数更改为function ($, foo),则foo参数很可能为undefined

请注意,这些都不会导致泄漏全局变量。如果编写jquery.foo以使其注册为适当的AMD模块,则它不依赖于jQuery(或$全局),因此jQuery.noConflict(true)在加载之前可能已被调用,以删除jQuery默认创建的全局变量。

这篇关于RequireJS:回调函数的依赖项和参数计数不同的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)