在node.js模块中使用早午餐
我希望在客户端早午餐构建和节点服务器中使用完全相同的主干模型,node的模块系统与burnch默认使用的commonjs模块几乎相同,但我需要一些思考来设置不同之处 /server.js在node.js模块中使用早午餐,node.js,backbone.js,brunch,Node.js,Backbone.js,Brunch,我希望在客户端早午餐构建和节点服务器中使用完全相同的主干模型,node的模块系统与burnch默认使用的commonjs模块几乎相同,但我需要一些思考来设置不同之处 /server.js Backbone = require('Backbone'); _ = require('underscore'); var MyAppModel = require('./app/models/MyAppModel'); var app = new MyAppModel(); /app/models/MyA
Backbone = require('Backbone');
_ = require('underscore');
var MyAppModel = require('./app/models/MyAppModel');
var app = new MyAppModel();
/app/models/MyAppModel.js
var PeopleCollection = require('../collections/PeopleCollection'); // NODE
var PeopleCollection = require('collections/PeopleCollection'); // BRUNCH
var MyAppModel = Backbone.Model.extend({
initialize: function() {
this.set('people', new PeopleCollection());
}
});
module.exports = MyAppModel;
/app/collections/PeopleCollection.js
var PersonModel = require('../models/PersonModel'); // NODE
var PersonModel = require('models/PersonModel'); // BRUNCH
var PeopleCollection = Backbone.Collection.extend({
model: PersonModel
});
module.exports = PeopleCollection;
/app/models/PersonModel.js
var PersonModel = Backbone.Model.extend({});
module.exports = PersonModel;
基本上,唯一阻止我在服务器和客户机上使用相同文件的是需要路径。
我可以设置一个全局服务器,然后执行以下操作:
if (server)
var PeopleCollection = require('../collections/PeopleCollection');
else
var PeopleCollection = require('collections/PeopleCollection');
我想这应该行得通,有没有更优雅的解决方案?没有必要使用绝对路径。早午餐支持相对路径。您只需使用:
var PeopleCollection = require('../collections/PeopleCollection');
不需要使用绝对路径。早午餐支持相对路径。您只需使用:
var PeopleCollection = require('../collections/PeopleCollection');
如何在不更改文件夹结构的情况下从早午餐构建中排除一些仅sside的模型(例如/app/models/MyAppModel.js)?
config.conventions.ignored
如何排除一些仅sside的模型(例如/app/models/MyAppModel.js)在不更改文件夹结构的情况下从早午餐构建中删除?config.conventions.ignored