2014-05-22 2 views
1

meanjs 스택을 실험하고 있습니다. 한 자리에서 열거 형과 같은 열거 형을 선언하고 프로젝트의 모든 곳에서 사용할 수있게하려고합니다. 몽고까지 모든 방법. 이것을 달성하는 우아한 방법은 무엇입니까?meanjs 스택 전체에서 열거 형을 사용할 수 있도록하는 방법이 있습니까?

+0

지금까지 해보신 것은 무엇입니까? 예, 한 곳에서 변수를 정의하고 노드가 필요한 모듈에 변수를 전달할 수 있어야합니다. – zajd

+0

일련의 상수와 같지 않으면 서비스와 $ 리소스를 사용하는 것을 선호합니다 ... – Lupus

+0

... 핵심 모듈에서 (추가하는 것을 잊어 버립니다.) – Lupus

답변

0

이것은 내가 생각해 낸 것입니다.

정의가 클라이언트와 서버 모두에서 사용할 수 있어야하므로 클라이언트 코드에 액세스 할 수있는 전역 폴더가 만들어졌습니다.

'MyApp를/공공/전역/types.js'

'use strict'; 

(function (exports){ 

exports.PlaceTypes = ['restaurant', 'house', 'park']; 

})(typeof exports === 'undefined' ? this[ApplicationConfiguration.applicationModuleName] = {} : exports); 

나는 '공공/전역을 추가하는'/ all.js MyApp를/설정/ENV '를 편집했다가 accesible 수 있도록하기 위해,/* '모듈 줄 앞에

... 
    js: [ 
      'public/config.js', 
      'public/application.js', 
      'public/globals/*', 
      'public/modules/*/*.js', 
      'public/modules/*/*[!tests]*/*.js' 
     ], 
... 

모델에서 가져올 수 있습니다.

'MyApp를/응용 프로그램/모델/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는 스택에있는 모든 어디에서나 사용할 수 있으며 한 번만 정의됩니다.

관련 문제