这个问题的一些背景信息
所以我去年为一个客户写了一个应用程序,大约在项目进行到一半时,我意识到我需要有很多异步功能,所以我开始编写将很多网站功能转移到 javascript。我的开发环境遇到了一个相当大的问题,最终我的 php 文件中有很多我的 javascript,只是为了节省时间。
在将项目移交给客户之前,我将所有 javascript 移动到单独的文件中,这些文件仅由站点的不同区域分开。所以我最终得到了一个 admin.js、checkout.js、common.js 等。
实际问题
客户现在想要为站点添加更多功能,我想继续将 javascript 正确地构建到不同的文件中,并将模型代码与视图代码分开。
我想使用 requirejs,这样我就不会在每个页面的页脚中都有一堆脚本调用,并且也可以更好地处理依赖关系。
我遇到的具体问题是它似乎没有正确加载我的文件。
我的 main.js 文件
require.config({
paths: {
'course' : 'models/course',
'login_view': 'views/login/login_view',
'config' : 'config',
'views' : 'views/views',
'session' : 'models/session'
}
});
require(['login_view'], function(login_view){
login_view.init();
});
我的 login_view.js 文件
define(function() {
var login_view = {
init: function(){
console.log(this);
});
};
});
当我在开发服务器上加载应用程序时,出现此错误,Uncaught TypeError: Cannot call method 'init' of undefined
任何帮助,将不胜感激。