【问题标题】:Knockout validation require unknown knockout js file淘汰赛验证需要未知的淘汰赛js文件
【发布时间】:2015-02-28 03:31:07
【问题描述】:

我正在使用 require js 和 knockout js 开发 coredova 应用程序,当我使用敲除验证时,它不起作用,它说“Script error for: knockout”。它在 Network 下的检查元素中显示以下内容,www/js/knockout.js 404 Not found,但在 js 文件夹中没有 knockout.js 文件,但它需要该文件,仅当我在定义中使用 knockout.validation 时才会出现此错误方法。但是为什么会问这种类型的淘汰js文件 我做了简单的演示代码,请帮助我

这是我的视图模型

define(['knockout-3.2.0','knockout.validation'], function(ko,validation) {

    return function appViewModel() {
        this.firstName = ko.observable('Bert').extend({ number: true,minLength: 3, maxLength: 10 });

    };
});

这是我需要的路径设置

require.config({
    paths: {
        'jQuery': 'jQuery/jquery-2.1.1.min',
        'knockout-3.2.0': 'ko/knockout-3.2.0',
        'knockout.validation': 'ko/knockout.validation'

    },
    shim: {
        'jQuery': {
            exports: '$'
        },
        'knockout-3.2.0': {
            exports: 'ko'
        },
        "knockout.validation": {
             exports: 'validation'
         }
    }

});

【问题讨论】:

    标签: knockout.js requirejs knockout-validation


    【解决方案1】:

    Knockout 和 Knockout-Validation 插件同时支持 CommonJS 和 AMD 模块模式,因此无需shim 它们。

    您收到错误是因为 Knockout-Validation 插件显式依赖名为 "knockout" 的模块(参见 GitHub),因此要修复它,您需要将 'knockout-3.2.0' 模块重命名为 @ 987654325@.

    所以固定的 require.js 配置看起来像:

    require.config({
        paths: {
            'jQuery': 'jQuery/jquery-2.1.1.min',
            'knockout': 'ko/knockout-3.2.0',
            'knockout.validation': 'ko/knockout.validation'
    
        },
        shim: {
            'jQuery': {
                exports: '$'
            }
        }
    
    });
    

    当然,在您的模块中,您需要使用名称"knockout"

    define(['knockout','knockout.validation'], function(ko, validation) {
    
        return function appViewModel() {
            this.firstName = ko.observable('Bert').extend({ number: true,minLength: 3, maxLength: 10 });
    
        };
    });
    

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 2016-05-14
      • 2011-08-09
      • 1970-01-01
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      相关资源
      最近更新 更多