这是/cars/ford.js
Ford = Car.extend({
classId: 'Ford',
init: function (driver) {
this._driver = driver;
Car.prototype.init.call(this);
tick: function (ctx) {
Car.prototype.tick.call(this, ctx);
},
destroy: function () {
if (this._driver !== undefined) {
this._driver._license.pull(this);
}
Car.prototype.destroy.call(this);
}
});
if (typeof(module) !== 'undefined' && typeof(module.exports) !== 'undefined') {
module.exports = Ford;
}
这是/cars/knightrider.js:
KITT = Car.extend({
classId: 'KITT',
init: function () {
Car.prototype.init.call(this);
var self = this;
},
newDirection: function () {
var self = this;
this._move.direction()
.duration(Math.random())
.properties({
x: Math.random(),
y: Math.random(),
})
.voice('robotic')
.afterDirection(function () {
self.newDirection();
})
.start();
}
});
if (typeof(module) !== 'undefined' && typeof(module.exports) !== 'undefined') {
module.exports = KITT;
}
我希望将所有汽车放在同一档案中,以保持我的自我健康。如何在不改变课程的情况下包装它们?随意推荐任何适当的包装'对于Javascript函数书或教程,因为我真的不喜欢打开文件。当我编辑汽车时,我可能想要编辑其他汽车。
希望我能做到:
module.exports.Allmycars = KITT, Ford;
然后用:
打电话给他们 Allmycars.Ford
答案 0 :(得分:1)
解决方案可能是:
//cars/index.js
module.exports = {
KITT:require("./knightrider"),
Ford:require("./ford")
}
//所以你可以使用:
var allMyCars = require("./cars");
var ford = new allMyCars.Ford();