olympus-r
Version:
一个力求简单易用的前端开发框架 #### 开发语言 TypeScript #### 核心架构 MVC #### 模块间通讯和解耦 采用事件机制,利用一个全局唯一的事件派发器进行模块间通讯,解耦模块间依赖 #### 表现层结构 使用桥接模式拆分接口与实现,达到一套核心驱动多套表现层的目的(目前支持DOM、Egret、PixiJS三种表现层),同时支持表现层的未来可扩展性 #### TypeScript装饰器注入 框架提供TypeScript装饰器注入功能,便捷获取托管对象。例如:
100 lines (99 loc) • 2.86 kB
TypeScript
/**
* @author Raykid
* @email initial_r@qq.com
* @create date 2017-09-21
* @modify date 2017-09-21
*
* 环境参数
*/
export default class Environment {
protected _env: string;
/**
* 获取当前环境字符串
*
* @readonly
* @type {string}
* @memberof Environment
*/
readonly env: string;
private _hostsDict;
/**
* 获取域名字典
*
* @readonly
* @type {{[env:string]:string[]}}
* @memberof Environment
*/
readonly hostsDict: {
[env: string]: string[];
};
/**
* 获取当前环境下某索引处的消息域名
*
* @param {number} [index=0] 域名字典索引,默认是0
* @returns {string} 域名字符串,如果取不到则使用当前域名
* @memberof Environment
*/
getHost(index?: number): string;
private _cdnsDict;
/**
* 获取CDN字典
*
* @readonly
* @type {{[env:string]:string[]}}
* @memberof Environment
*/
readonly cdnsDict: {
[env: string]: string[];
};
private _curCDNIndex;
/**
* 获取当前使用的CDN域名
*
* @readonly
* @type {string}
* @memberof Environment
*/
readonly curCDNHost: string;
/**
* 切换下一个CDN
*
* @returns {boolean} 是否已经到达CDN列表的终点,回到了起点
* @memberof Environment
*/
nextCDN(): boolean;
/**
* 初始化Environment对象,因为该对象保存的数据基本来自项目初始参数,所以必须有initialize方法
*
* @param {string} [env] 当前所属环境字符串
* @param {{[env:string]:string[]}} [hostsDict] host数组字典
* @param {{[env:string]:string[]}} [cdnsDict] cdn数组字典
* @memberof Environment
*/
initialize(env?: string, hostsDict?: {
[env: string]: string[];
}, cdnsDict?: {
[env: string]: string[];
}): void;
/**
* 让url的域名变成消息域名
*
* @param {string} url 要转变的url
* @param {number} [index=0] host索引,默认0
* @returns {string} 转变后的url
* @memberof Environment
*/
toHostURL(url: string, index?: number): string;
/**
* 让url的域名变成CDN域名
*
* @param {string} url 要转变的url
* @param {boolean} [forced=false] 是否强制替换host
* @param {boolean} [infix=true] 是否加入路径中缀,即host之后,index.html之前的部分,默认加入
* @returns {string} 转变后的url
* @memberof Environment
*/
toCDNHostURL(url: string, forced?: boolean, infix?: boolean): string;
}
/** 再额外导出一个单例 */
export declare const environment: Environment;