gpt4 book ai didi

javascript - RequireJS 中 require() 和 Define() 之间的区别?

转载 作者:行者123 更新时间:2023-12-02 23:06:02 26 4
gpt4 key购买 nike

在RequireJS中,使用require()和define()的基本区别是什么;

require(['a'], function(a) {
// some code
});

// A.js
define(['b','c','d','e'], function() {
//some code
});

任何用例都会非常有帮助..

最佳答案

在早期使用中令我烦恼的一个核心区别是发现 define 可能永远不会被调用

只要有一个 define每个文件,它将将该模块注册为在该文件名下可用。然而,define模块仅加载一次 require函数要求它们中的每一个。

定义:如果你需要一个XXX,那么先加载这些其他的东西,然后返回这个函数的结果。

要求:加载这些其他东西,然后运行这个函数。 (没有“如果”)

示例:假设您在页面中包含此 JS 文件:

// this is in company/welcomepage.js
define(['company/ui_library'],
function(uiLib) {
console.log('Welcome to {company}!');
}
);

如果这是唯一的 Javascript 文件,您可以打开页面,并且控制台日志中不会有任何内容,尽管脚本告诉它欢迎用户。但是,如果在页面或另一个脚本中的某个位置插入以下内容,情况就会发生变化:

require(['company/welcomepage'], function() {
// optionally insert some other page-initialization logic here
});

现在,页面加载时将在控制台中放置一条欢迎消息。

事实上,有了第二个,就不需要手动将welcomepage.js包含为 <script>标签;一旦它看到需求并意识到它需要它,它就会从它的位置加载它。

关于javascript - RequireJS 中 require() 和 Define() 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com