【问题标题】:How to load knockout.observableDictionary plugin in requirejs with shim?如何使用 shim 在 requirejs 中加载 knockout.observableDictionary 插件?
【发布时间】:2016-06-22 09:11:14
【问题描述】:

这是插件 https://github.com/jamesfoster/knockout.observableDictionary

这是一个显示我遇到的问题的小提琴:

https://jsfiddle.net/L4d84nqc/1/

代码:

requirejs.config({
    paths: {
    'ko': 'https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-min',
    'ko.observableDictionary' : 'https://rawgithub.com/jamesfoster/knockout.observableDictionary/master/ko.observableDictionary'
  },
  shim: {
    'ko.observableDictionary' : {
        deps: ['ko']
    }
  }
});


require(['ko', 'ko.observableDictionary'], function(ko) {
    console.log(ko);
});

【问题讨论】:

    标签: javascript knockout.js requirejs


    【解决方案1】:

    我认为没有办法通过要求注册来添加属性(可能是错的?)。我只需将 .js 文件添加到包或页面中,然后像这样修改库 js...

    require(["ko"], function(ko){    
        (function (ko) {
            function DictionaryItem(key, value, dictionary) {
            .............. all that yummy code
            }
        })(ko)    
    });
    

    【讨论】:

    • 对不起,我对 requirejs 不是超级有经验。捆绑与此有什么关系?我认为捆绑是为了从一个文件中返回多个模块。如果这不可能,jQuery 插件如何工作?仅仅是因为 jQuery 支持 AMD 吗?
    • 有可能。这是我给你的最好的答案。捆绑包只是我提到的,以防你在页面加载时加载 JavaScript
    猜你喜欢
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2016-11-03
    • 2012-06-10
    • 2014-08-06
    • 1970-01-01
    • 2015-04-21
    • 2015-06-26
    相关资源
    最近更新 更多