gpt4 book ai didi

node.js - 将 brunch 与 Node.js 模块结合使用

转载 作者:太空宇宙 更新时间:2023-11-04 01:09:16 26 4
gpt4 key购买 nike

我想为我的客户端 brunch 构建和我的 Node 服务器使用完全相同的 Backbone 模型, 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');

我想应该可以,有更优雅的解决方案吗?

最佳答案

无需使用绝对路径。 Brunch 支持相对路径。您可以只使用:

var PeopleCollection = require('../collections/PeopleCollection');

关于node.js - 将 brunch 与 Node.js 模块结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19566378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com