主页 > 云储存 > > 正文

轻量服务器_阿里云控制台登录_年度促销

浏览:

Requirejs是一个开源JavaScript模块加载器,主要用于改进脚本文件加载时间和简单地添加外部库。例如,通常所有声明的脚本对象(贡献.xml)将在应用程序启动时预先加载。Requirejs使SDK开发人员能够按需加载库。这个简短的介绍就足够了,因为我的目标是展示如何将库集成到DesignStudio扩展中。

当您在阅读《开发人员指南》之后立即开始编码时,您很可能会尝试通过将外部库放置在SDK文件夹结构中并在您的应用程序中引用它们来加载它们贡献.xml. 到目前为止还不错,但是当你打开你最喜欢的浏览器的开发工具时,你可能会注意到一条来自DesignStudio的内置requirejs插件的错误消息:不匹配的ANONYMOUS DEFINE()模块(这个问题并不适用于所有的库,但是它太广泛了,现在无法解释所有的可能性)。直到最近,这还不是真正的问题,因为errow只在devel模式下显示,前提是您确保所有外部库都以正确的顺序加载。但是IE开始将这个requirejs错误作为一个标准的DesignStudio错误公开。这时我认为是时候解决这个问题了。

下面的代码示例是受Mike Howles和Karol Kalisz的启发,我与他们合作开发了SCN DesignStudio SDK库。我选择了传单和OpenStreetMap来显示集成。

首先你要做的是,从数据库中删除所有的库贡献.xml要使用requirejs加载的文件。然后把你的代码包起来组件.js如下:

第一节在运行时(本地和平台模式)定位SDK文件夹结构,以便稍后处理外部库文件(第22-27行)。下一节配置按需加载过程的requirejs(第30-44行)。请注意,文件引用缺少"js"文件扩展名(默认情况下,Requirejs将提供它)。关于"垫片"部分的简短说明。传单提供者是一个传单插件,负责加载免费提供的OpenStreetMap图块。这个插件依赖于全局传单变量"L",它在库加载完成时公开。因此,我们需要为这个插件定义一个依赖项,确保库加载顺序和全局变量声明对于插件是正确和透明的。JavaScript方法调用sdkReqs实际上加载定义的库。请注意,我没有暴露"prv"的应用程序代码。但是您可以在第46行中为函数闭包指定一个附加变量,或者将库加载到如下变量中:var prv=require("prv");

最后您只需确保在顶部打开的所有函数闭包再次关闭(第53-54行)。现在,乏味的不匹配匿名定义错误应该不会再出现了

使用requirejs玩得开心,怎么成为淘客,并且随时可以问很多后续问题。

在GitHub上找到完整功能的示例项目和源文件:https://github.com/MartinPankraz/DesignStudioSDK-Components

您的

马丁

参考资料:

•     https://github.com/org-scn-design-studio-community/sdkpackage

嘿,马丁,大数据问题,

很好的帖子,我希望这有助于消除一些神秘的需求。我不断学习新的东西,它可以做自己!

谢谢分享

很棒的东西,我现在有一些学习要做

嗨,马丁,

正确的是,RequireJS模块不能用标签加载-因为你会得到匿名定义。但是,与其在SDK处理程序中复制所有这些特定于实现的东西,物联网网关,不如使用内置的sap.zen.Dispatcher文件.实例.require函数,云是什么,正如designstudio1.4sdk中所描述的那样。

这可能会让您将主代码更改为回调,但我相信这在几乎所有情况下都是可能的,e、 g.

sap.designstudio.sdk.组件.子类("com.sap.sample示例.coloredbox.coloredbox",function(){

var that=this;

这个.init=函数(){

sap.zen.Dispatcher文件.实例.require(单张"],函数(l){

//您是否使用所需的模块在这里进行渲染。

});

});

};

谢谢,

雷纳。

嘿雷纳,

实际上我试过使用你建议的"需要来电"sap.zen.Dispatcher文件但由于缺乏路径配置灵活性(外部CDN路径和回退路径)和填充配置,所以我提出了"sdkReqs"的"hack/workaround",它基本上实现了sap.zen.Dispatcher文件的require call(暂停、require callback,大数据是干嘛的,恢复)以便我们可以对require设置有更多的控制禅宗调度员需要包装器函数,如果我遗漏了什么,那就太好了。

问题是我们可能需要更改的内部功能sap.zen.Dispatcher文件.要求,例如1.5。因此,克隆它将导致不兼容。

正确的做法是,您不能使用垫片-并且您将坚持相对于调用处理程序的固定路径配置。但这是否会妨碍您成功使用require模块?E、 g.Shim可以在您的回调中用一个小的"window.L=L"来模拟。

公平地说,从1.4和1.5开始,这种风险已经发生在我们身上,正如您在这里所描述的:DesignStudio 1.5SDK中"不兼容更改"下的新功能,无论我们使用建议的解决方法还是不建议的解决方法。

因此,这是我愿意接受的考虑点/风险,以便充分利用我们目前所知的要求以及未来可能发生或不发生的情况

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 对象存储_网站集约化建设_哪家好
    对象存储_网站集约化建设_哪家好

    对象存储_网站集约化建设_哪家好

    当戴夫·麦克卢尔首次提出海盗指标的概念时,它震撼了创业界的核心。尽管你现在可能知道他是500家初创企业的幕后推手,但在贝宝(PayPal)上市前担任...

  • 数据库_数据库事务原理_安全稳定
    <strong>数据库_数据库事务原理_安全稳定</strong>

    数据库_数据库事务原理_安全稳定

    为CloudFlare客户提供对源站的免费和高性能加密2014年秋季,CloudFlare推出了Universal SSL,并将通过HTTPS访问的网站数量增加了一倍。在短短几天内,我们颁发了...

  • 百度云_企业邮箱怎么设置签名_排行榜
    百度云_企业邮箱怎么设置签名_排行榜

    百度云_企业邮箱怎么设置签名_排行榜

    在快节奏的销售世界里,时间是无价的。这正是为什么你需要停止切换标签,使用新的Pipedrive Chrome扩展直接从Gmail使用Pipedrive的强大功能。如果你是一个狂...

  • 游戏服务器_节点服务器_优惠
    <strong>游戏服务器_节点服务器_优惠</strong>

    游戏服务器_节点服务器_优惠

    nomad0.11为任务引入了生命周期部分,可以用来表示任务依赖关系。这可以用来表示任务组中任务之间的任务依赖关系,甚至可以利用consur来表示任务间的任...

  • 企业邮箱_华为云techwave_企业级
    <strong>企业邮箱_华为云techwave_企业级</strong>

    企业邮箱_华为云techwave_企业级

    遵守一套不断发展的数据隐私法规的需求可能看起来很繁重,或者会导致公司停滞不前,不知道下一步该采取什么措施。如果不了解这些法规对日常运营的...

云储存

更多 >
  • <strong>微软云_最后的灰姑娘百度云_排行榜</strong>
    微软云_最后的灰姑娘百度云_排行榜

    SAP Lumira的1.25版现在有一个Universe查询面板扩展,您需要安装它。安装后,您将看到熟悉的查询面板。您不需要"发布"到BI平台,而需要对BI平台执行"文件>另...

  • <strong>网站空间_斗破苍穹动漫第二季百度云_哪</strong>
    网站空间_斗破苍穹动漫第二季百度云_哪

    如果你读过我以前的博客,那么你就知道如何创建一个定制报告程序,根据映射表自动分析APO中的CIF后处理记录,并从阻塞的队列/记录中提取错误消息号。...

云储存游戏服务器_滨州网站建设_学生机
云储存网站空间_申报数据库_怎么样
云储存文件存储_rms服务器_免费1年
云储存微软云_哪家企业邮箱好_精选特惠
云储存企业网站_宁波网站建设哪家好_9元