问题是,将类放在单独的文件中是很方便的,但我习惯了JavaScript中继承组织的唯一方法(类似于下一个示例):
if (typeof app === 'undefined') {
app = {};
}
app.Base = function() {}
app.Child = function() {}
app.Child.prototype = new app.Base();而且,由于我不能在不同的文件之间拆分基类和子类,所以在调用new app.Base(); app.Base时可能还没有定义。所以我不得不把所有的链子都放在一个大文件里。
我不想麻烦文件包含的顺序,因为例如,当使用Karma-runner检查其配置文件中包含文件的顺序时,它并不是很方便,如果可以的话。
有人能对此提出建议吗?提前感谢
发布于 2014-07-17 08:44:32
使用类似于Require.js的东西。它允许您将文件拆分为逻辑组,并维护一个很好的依赖树。
在这种情况下,你可以像
// This is base.js
define([], function(){
var Base = function() {};
return Base;
});
// This is child.js
define(['base'], function(Base) {
var Child = function() {};
Child.prototype = new Base();
return Child;
});
// This is app.js
require( ['child'], function( Child ) {
var myChild = new Child();
});我真的建议您查看一下require.js。
如果您在Node.js世界中,您可以简单地使用Requireandmodule.exports来维护您的依赖关系。
ECMAScript 6为模块定义了一个新的标准,这将使这一切变得更容易,但这需要一段时间才能在每个浏览器中以一种正常可用的方式实现。
https://stackoverflow.com/questions/24798675
复制相似问题