我是 require.js 的新手,所以我可能没有正确使用它,但据我所知,我找不到导致错误的原因。
结构
index.html
Scripts\
- jquery-2.1.1.min.js
- require.js
\app
- main.js
\lib
- work-requests.js
- controller-base.js
- util.js
index.html
<script src="Scripts/require.js" data-main="Scripts/app/main"></script>
main.js
requirejs.config({
baseUrl: 'Scripts/lib',
paths: {
jquery: '../jquery-2.1.1.min',
},
});
requirejs(['jquery', 'util', 'work-requests'], function ($, util, work_requests) {
$(function () {
var foo = new work_requests.get_all(); // <-- error "Uncaught TypeError: undefined is not a function
});
工作请求.js
define(['controller-base'], function (controller_base) {
return function () {
var that = controller_base('work-requests')
return that;
}
});
controller-base.js
define(['jquery'], function ($) {
return function (controller_name) {
var that = {};
that.controller = controller_name;
that.get_all = function () {
return $.ajax({
type: 'get',
contentType: 'application/json',
url: _api_root + '/' + that.controller,
});
};
return that;
};
});
util.js
define({
foo: function(data){},
});
最佳答案
您的 require.js 设置完全没问题。你尝试过改变吗
var foo = new work_requests.get_all();
至
var foo = new work_requests();
var bar = foo.get_all();
?
关于javascript - 未捕获类型错误 : undefined is not a function when using require. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068847/