我正在尝试使用 meanjs 堆栈,并尝试在一个地方声明一个类似枚举的数组,并使其在项目中从 Mongo 一直到 Angular 的任何地方都可用。实现这一目标的优雅方法是什么?
问问题
91 次
1 回答
0
这就是我想出的。
由于该定义必须对客户端和服务器都可用,因此我创建了一个全局文件夹,客户端代码可以访问该文件夹。
'myapp/public/globals/types.js'
'use strict';
(function (exports){
exports.PlaceTypes = ['restaurant', 'house', 'park'];
})(typeof exports === 'undefined' ? this[ApplicationConfiguration.applicationModuleName] = {} : exports);
为了使其易于访问,我必须编辑“myapp/config/env/all.js”,在模块行之前添加“public/globals/*”
...
js: [
'public/config.js',
'public/application.js',
'public/globals/*',
'public/modules/*/*.js',
'public/modules/*/*[!tests]*/*.js'
],
...
在模型中我可以导入它。
'myapp/app/models/place.server.model.js'
var PlaceTypes = require('../../public/globals/types').PlaceTypes;
/**
* Place Schema
*/
var PlaceSchema = new Schema({
name: {
type: String,
enum: PlaceTypes,
required: 'Please fill Place name',
trim: true
}
});
现在 PlaceTypes 在堆栈中的任何地方都可用,并且只定义一次。
于 2014-05-26T21:43:04.397 回答