为了账号安全,请及时绑定邮箱和手机立即绑定

如果其他的JS文件互相依赖怎么使用require?

如果其他的JS文件互相依赖怎么使用require?

慕工程0101907 2018-10-03 09:18:57
项目中使用了photoClip.js依赖于iscroll-zoom.js(v5.1.3),然后自己写的函数调用了photoClip.js中的方法;我的项目中使用了下面的代码,然后在控制台报:IScroll is not a constructor,查找到photoClip中对iscroll实例化引起的这个错误,想咨询下什么原因引起的?2017.1.14 根据几个同学的回答修改了path和依赖的名字,但是还是报那个错,不知道那里的问题,下面代码已更新2017.1.17 由于自身学习能力不够,本来能够去github找答案的贸贸然在segmentfault提问了,现在下面提供了解决办法,自省己身:多读文档、多读文档、多读文档。
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

由于这个错误是在photoClip依赖iscroll的问题引起的,所有在github上找到了photoClip的文档找到的解决办法:

require.config({    paths: {        'iscroll-zoom': 'js/iscroll-zoom',        'hammer': 'js/hammer.min',       
 'lrz': 'js/lrz.all.bundle',        'PhotoClip': 'js/PhotoClip'
    },    shim: {        'iscroll-zoom': {            exports: 'IScroll'
        }
    }
});require(['PhotoClip'], function(PhotoClip) {    new PhotoClip('#clipArea');
});

在path参数中,设置了模块名称(可以随意指定),在shim参数中,exports是输出的变量名,表明这个模块外部调用时的名称


查看完整回答
反对 回复 2018-11-11
  • 1 回答
  • 0 关注
  • 1047 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号