javascript - 关于require的用法
PHP中文网
PHP中文网 2017-04-11 11:38:51
[JavaScript讨论组]



    
    Title
    
    


body

以下为a.js

require(['jquery'],function(){
    alert("$有了");
})

a.js中如把require改成define的话,这两句话都还是能弹出来,在此请教有啥区别

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
黄舟

requirejs主要是用于模块化的。你这样在一个文件里,怎么都行。

define 用于定义一个模块,同时申明它的依赖关系,这个模块会在使用到的时候计算一次导出结果然后缓存下来。

require 用于使用一些模块。通常一个 require 就是一个程序入口。

它们的共同点是,对于要使用或依赖的模块,都必须先完成导出之后才能使用。

你说把 require 改成 define 之后仍然会弹就有点奇怪了,请确认一下不是缓存引起的。理论上来说 define 后面量个 factory 函数,在模块未被引用的时候是不会执行的。如果两个 require 都改成 define 的话,在 a.js 中的那句会因为 html 中的引用弹出来,但html 中那句因为没有引用,不应该弹出来啊

高洛峰

require是使用模块,define是定义模块。
而在require.config中path指的是定义模块的路径。

define(['jquery'],function(){

alert("$有了");
})

因为前面

 require(["jquery","a"],function($){
            $(function(){
                alert("jq已加载");
            })
        });

引用了a模块,自然要执行了
如果是

define(['jquery'],function(){
 return function(){
    alert("$有了");
  }
})

就应该不会执行了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号