PureJS (6.5): 프로필

더 읽 기
PureJS (6.5): 프로필
설정 파일 의 목적 은 수정 할 수 있 도록 자주 변 하 는 부분 을 추출 하 는 것 입 니 다.XML 보다 js 로 직접 설정 하 는 것 이 더 단 도 직 입적 입 니 다.
현재 PureJS 프로젝트 에는 세 가지 프로필 이 있 습 니 다.
우선 lib 와 server 의 설정 입 니 다. 프로그램 이 시 작 될 때 유효 하 며 열 배 치 는 지원 되 지 않 습 니 다.
그 다음은 특정 응용 설정 으로 수정 후 효력 이 발생 하 며 열 배 치 를 지원 합 니 다.
마지막 으로 테스트 에 사용 할 설정 입 니 다. lib 의 설정 과 비슷 하지만 설정 한 매개 변 수 는 다 릅 니 다.
물론 아직 퓨 어 JS 의 기능 이 기본 적 인 편 이어서 배치 할 부분 이 많 지 않다.
다음은 이 프로필 들 을 하나씩 살 펴 보 자.
lib 와 server 의 프로필
lib 에서 설정 해 야 할 Pure. db 에서 사용 하 는 데이터베이스 이름과 Pure. render 에서 사용 하 는 페이지 파일 디 렉 터 리 (경로 접두사) 가 있 습 니 다.
server 는 포트, 사이트 루트 디 렉 터 리, 웹 자원 파일 디 렉 터 리 등 을 설정 해 야 합 니 다.
다음은 lib 와 server 의 프로필 입 니 다.
  
scripts/config.js
config = {
	//        
	db : { name : 'app' },

	//         (    )
	render : { prefix : 'webapp/' },

	// server    
	server : {

		//       
		port : 8080,

		//      ,    URL           
		contextPath: "/",

		// web       ,       html、css、js          
		resourceBase: "webapp",

		//          
		maxUploadSize : 10 * 1024 * 1024,

		// log4j             
		logConfigPath: "log4j.properties",

		//             ,         
		scriptsDirs : ["scripts/lib", "webapp/js/both", "scripts/app"],

		// servlet     (apiServlet   pageServlet)
		servletsDirs: ["scripts/servlets"],

		// apiServlet        
		apiServletPath: "/api",

		// pageServlet        
		pageServletPath: "/",

		// defaultServlet(    )       
		defaultServletPath : "*.js,*.css,*.ico,*.txt,*.png,*.jpg,*.gif,*.htm,*.html,*.swf"
	}
}

Pure. db 구현 에서 데이터베이스 인 스 턴 스 를 가 져 올 때 config. db. name 을 사 용 했 습 니 다:
  
scripts/lib/pure/db.js
	function params() {
		db = imp.Mongo().getDB(config.db.name);
		//     , 。
	}

	function get(name) {
		return proxy(db.getCollection(name));
	}

Pure. render 구현 중 파일 이름 을 가 져 올 때 Pure. render. prefix 를 사 용 했 습 니 다.
  
scripts/lib/pure/render.js
	function extend() {
		//     , 。

		var r = config.render;
		pure.render.prefix = r && r.prefix || "";
	}

	function render(partial, file, func) {
		//     , 。

		file = pure.render.prefix + file + ".html";

		//     , 。
	}

특정 응용 프로필
응용 자체 에 도 설정 파일 이 필요 하 며, 이 파일 들 은 보통 app 디 렉 터 리 나 하위 디 렉 터 리 에 놓 여 열 배 치 를 지원 합 니 다.
관리자 의 사용자 이름과 비밀 번 호 를 예 로 들 면:
  
scripts/app/config.js
app.config = {
	admin : { name: "admin", password: "admin123" }
};

api. auth 의 실현 에서 app. config. admin 을 사용 할 수 있 습 니 다.
scripts/app/api/auth.js
api.auth = {
	login : function(params, req) {
		var admin = app.config.admin;

		if (params.name !== admin.name
				|| params.password !== admin.password) {
			return false;
		}

		req.session.setAttribute("user.role", "admin");
		return true;
	}
}

테스트 에 사용 할 프로필
테스트 할 때 사용 하 는 데이터베이스 와 페이지 파일 의 위 치 는 생산 과 다 를 수 있 으 므 로 다른 프로필 이 필요 합 니 다. 다음은 두 가지 예 입 니 다.
  
scripts/test/app/config.js
config = {
	db: { name: 'test' },
	render: { prefix: 'webapp/' }
};

scripts/test/lib/config.js
config = {
	db: { name: 'test' },
	render: { prefix: 'scripts/test/lib/render/' }
};
  • PureJS.rar (3.7 MB)
  • 다운로드 횟수: 8
  • 좋은 웹페이지 즐겨찾기