Knockout.js 敲除验证需要未知的敲除js文件
我使用require js和knockout js开发coredova应用程序,当我使用knockout验证时,它不起作用,它说脚本错误为:knockout。它在网络下的inspect元素中显示以下内容,www/js/knockout.js 404未找到,但在js文件夹中没有knockout.js文件,但它需要该文件,只有当我在define方法中使用knockout.validation时才会出现此错误。但为什么它会询问这种类型的knockout js文件 我做了简单的演示代码,请帮帮我 这是我的viewModelKnockout.js 敲除验证需要未知的敲除js文件,knockout.js,requirejs,knockout-validation,Knockout.js,Requirejs,Knockout Validation,我使用require js和knockout js开发coredova应用程序,当我使用knockout验证时,它不起作用,它说脚本错误为:knockout。它在网络下的inspect元素中显示以下内容,www/js/knockout.js 404未找到,但在js文件夹中没有knockout.js文件,但它需要该文件,只有当我在define方法中使用knockout.validation时才会出现此错误。但为什么它会询问这种类型的knockout 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和Knockout验证插件都支持CommonJS和AMD模块模式,因此不需要填充它们 之所以会出现错误,是因为Knockout验证插件显式依赖名为Knockout的模块。请参见,要修复此错误,您需要将“Knockout-3.2.0”模块重命名为Knockout 因此,固定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 });
};
});