加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何告诉Dojo自定义构建外部库?

发布时间:2020-12-16 21:18:31 所属栏目:百科 来源:网络整理
导读:在我的Dojo构建中,我正在引入一些第三方库. 当我完成构建过程时,由于ReferenceErrors而出现错误. 这可以.这是有道理的. 但是,我想告诉Dojo构建过程有关被引用的内容.从本质上讲,这类似于将外部传递给Closure Compliler. 因此,我的问题是:如何告诉Dojo构建过
在我的Dojo构建中,我正在引入一些第三方库.

当我完成构建过程时,由于ReferenceErrors而出现错误.

这可以.这是有道理的.

但是,我想告诉Dojo构建过程有关被引用的内容.从本质上讲,这类似于将外部传递给Closure Compliler.

因此,我的问题是:如何告诉Dojo构建过程有关它无法从我的代码库中推断的引用?

这是使用Dojo 1.8

解决方法

我自己就碰到了这个.现在我假设您引用的ReferenceErrors用于浏览器对象,如导航器,窗口,文档等.如果是这样,那么这是由Dojo构建过程本身引入的问题,因为构建是由在Rhino内部运行的dojo.js执行的,其中未定义浏览器全局对象.这是一个dojo / Rhino错误,而不是一个闭包编译器错误,因此没有什么可以传递给闭包来改变它.例如,像一个脚本

(function(){
    window.alert("hello");
})();

如果它包含在dojo层中,将会破坏你的dojo构建.当dojo AMD加载器解析上述脚本的依赖关系时,它将运行函数体,导致ReferenceError,因为Rhino中不存在窗口.

要解决此问题,请将脚本包装为AMD模块

define([],function(){
    window.alert("hello");
});

然后在dojo构建期间,AMD加载程序不会执行函数体.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读