Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在node.js模块中使用早午餐_Node.js_Backbone.js_Brunch - Fatal编程技术网

在node.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

我希望在客户端早午餐构建和节点服务器中使用完全相同的主干模型,node的模块系统与burnch默认使用的commonjs模块几乎相同,但我需要一些思考来设置不同之处

/server.js

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