`
裴小星
  • 浏览: 265841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8ccf5db2-0d60-335f-a337-3c30d2feabdb
Java NIO翻译
浏览量:27853
F3e939f0-dc16-3d6e-8c0b-3315c810fb91
PureJS开发过程详解
浏览量:74386
07a6d496-dc19-3c71-92cf-92edb5203cef
MongoDB Java ...
浏览量:63081
社区版块
存档分类
最新评论

PureJS (6.5):配置文件

阅读更多
PureJS (6.5):配置文件


  配置文件的目的是把经常变化的部分提取出来,以便修改。相比 XML,直接用 js 进行配置会更为直截了当一些。
  在现在的 PureJS 工程中有三类配置文件:
  首先是 lib 和 server 的配置,在程序启动时生效,不支持热部署。
  其次是特定应用的配置,修改后生效,支持热部署。
  最后是用于测试的配置,与 lib 的配置相似,但设置的参数不同。

  当然,现在 PureJS 的功能还比较基础,因此需要配置的地方还不多。
  接下来,我们就逐一看看这些配置文件吧。

lib 和 server 的配置文件

  lib 中需要配置的有 pure.db 使用的数据库名称 和 pure.render 使用的页面文件目录(路径前缀)。
  server 需要配置端口、网站根目录、web 资源文件目录等。

  以下是 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 目录或其子目录下,以支持热部署。
  这里以 admin 的用户名和密码为例:

  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/' }
};
3
3
分享到:
评论

相关推荐

    VDA-6.5产品审核(最新版).pdf

    从提供的文件信息来看,文件标题为《VDA-6.5产品审核(最新版)》,这提示我们接下来的内容将涉及VDA-6.5标准的最新修订版本,即德国汽车工业联合会(Verband der Automobilindustrie,简称VDA)发布的第六部分第五版...

    Myeclipse6.5 svn配置

    Myeclipse6.5 svn配置,免费资源,仅供参考!

    Centos6.5 镜像文件下载

    ### Centos6.5镜像文件下载与安装详解 #### 一、CentOS 6.5简介 CentOS是Community ENTerprise Operating System的缩写,是一个基于Linux内核的操作系统,它主要提供了企业级的计算环境。CentOS 6.5作为CentOS 6...

    centos 6.5下安装文件上传下载服务

    centos 6.5下的文件上传下载服务安装和配置 centos 6.5下的文件上传下载服务是指在centos 6.5操作系统中安装和配置文件上传下载服务,以解决上传和下载文件的问题。这个服务可以让用户轻松地上传和下载文件,而不...

    pb6.5的安装文件

    **学习和使用PB6.5:** 对于初学者,可以从基础的窗口设计、数据窗口创建、脚本编写等方面入手,逐步掌握PB6.5的基本功能。同时,参考官方文档、在线教程和社区论坛,可以帮助解决遇到的问题。随着经验的积累,可以...

    NC6.5 硬件配置参考.pdf

    该指南提供了不同客户规模下的硬件配置建议,涵盖数据库服务器、应用服务器、文件服务器、测试/接口服务器/备份服务器、中间件软件、存储设备和备份软件等多个方面。 以下是从该指南中总结出的关键知识点: 1. ...

    NC6.5 文件服务器操作手册.pdf

    文件服务器配置是NC6.5文件服务器的文件管理配置。该配置包括文件服务器的网络设置、存储设置、文件管理设置等。正确地配置文件服务器对于文件管理非常重要。 管理控制台 管理控制台是NC6.5文件服务器的管理工具。...

    vCenter 6.5 HA配置教程.docx

    【vCenter 6.5 HA配置教程】 vCenter 6.5 High Availability (HA) 是一项关键特性,它确保了vCenter服务器的高可用性,即使在单个宿主机或虚拟机故障的情况下也能保持服务的连续性。在早期版本中,配置vCenter HA...

    MyEclipse_6.5下配置SVN

    "MyEclipse_6.5下配置SVN"这个主题聚焦于如何在集成开发环境(IDE)MyEclipse 6.5中设置Subversion(SVN)支持,以便开发者可以利用SVN的强大功能进行版本控制。 Subversion是一种广泛使用的开源版本控制系统,用于...

    Araxis Merge v6.5/Araxis Merge 2017比对工具

    Araxis Merge v6.5:免安装版本,解压直接运行merge.exe即可正常使用(目前好像不支持Win10系统了,但是我同事的win10可以用,看需要使用)。 Araxis Merge 2017:解压后,看安装说明,比较简单,纯净2017,推荐...

    Redhat6.5配置yum本地源

    ### Redhat 6.5 配置 Yum 本地源详解 #### 一、引言 在企业级环境中,为了确保软件包的安全性和稳定性,通常会采用私有仓库来管理系统的更新与安装。对于 Redhat 6.5 来说,配置一个 Yum 本地源是非常实用且必要的...

    Fluidsv3.1_CUDA_6.5:从 Rama Hoetzlein 到 CUDA 6.5 sdk 的 Fluidsv3.1 端口

    更新:2015 年 2 月 13 日,R. Hoetzlein (c) 2012-2013 的 Port of Fluids v.3.1, //fluids3.com 到 Muhammad Mobeen Movania 的...配置文件时间。 现在包括使用 NVIDIA 的免费 NSight 工具在 GPU 上进行分析的 GP

    SugarCRM6.5.17的中文包(兼容6.5.X)

    兼容6.5.X; 一般注意事项,见http://down.51cto.com/data/275922 建议中文的sugar系统修改config.php配置文件,以获得更好使用(先备份好原文件)。 config.php为sugar配置文件,建议更改部分。 第1处: 'default...

    LIUNX CENTOS6.5 PHP环境配置

    在进行Linux CentOS6.5下的PHP环境配置之前,我们需要了解相关的基础知识点以及操作步骤,以下是关于Linux CentOS6.5、PHP、Nginx以及如何配置他们的一些详细知识点。 首先,我们来谈谈CentOS。CentOS(Community ...

    BO6.5安装配置手册

    根据给定的文件信息,我们可以总结出关于BO6.5安装配置的重要知识点,涉及系统要求、软件安装步骤、产品模块选择等关键环节。 ### 1. 对服务器的要求 #### 操作系统 BO6.5支持多种操作系统,包括Windows 2000 ...

    Ext JS 6.5.3.57-trial.zip

    Ext JS 6.5.3.57 - JavaScript Library Copyright (c) 2006-2018, Sencha Inc. All rights reserved. licensing@sencha.com

    vagrant-centos-6.5:我的虚拟机

    (默认配置的是 php 文件夹,如果要换其他文件夹,请自行修改 nginx 的 dev.conf 文件的配置) 示例: 根目录 |--php |--cai |--zheng |--hai |--getyii |--frontend |--web 默认我使用的是 *....

    CentOS6.5 LAMP配置及所需的安装文件

    本篇文章将详细讲解如何在CentOS 6.5上配置LAMP环境,并介绍所需的安装文件。 首先,让我们从Linux开始。CentOS 6.5是一个基于Red Hat Enterprise Linux的稳定版本,提供了强大的服务器基础。为了开始LAMP安装,你...

Global site tag (gtag.js) - Google Analytics