我遇到了一个大问题,试图通过模块将一些常见的模式定义共享给我的代码库中的所有其他模块.
我有一个包含这两个模式的myproj_schemas模块:
var mongoose = require('mongoose'),
util = require("util"),
Schema = mongoose.Schema;
var BaseProfileSchema = function() {
Schema.apply(this, arguments);
this.add({
_user: {type: Schema.Types.ObjectId, ref: 'User', required: true},
name: {type: String, required: true},
bio: {type: String, required: true},
pictureLink: String
});
};
util.inherits(BaseProfileSchema, Schema);
module.exports = BaseProfileSchema;
Run Code Online (Sandbox Code Playgroud)
和
var mongoose = require('mongoose'),
BaseProfileSchema = require('./base_profile_schema.js'),
Schema = mongoose.Schema;
var entSchemaAdditions = {
mentors: {type: Schema.Types.ObjectId, ref: 'Mentor'}
};
var entrepreneurSchema = new BaseProfileSchema(entSchemaAdditions);
module.exports = entrepreneurSchema;
Run Code Online (Sandbox Code Playgroud)
导师也在另一个文件中定义.
我的单元测试都在模式模块中工作.
当我npm安装此模块并尝试创建使用
Entrepreneur = …Run Code Online (Sandbox Code Playgroud)