Last active
August 4, 2016 06:51
-
-
Save gwuhaolin/9a3596c46c1e30eae44195d24558f74a to your computer and use it in GitHub Desktop.
typescript d.ts file for fis3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* typescript d.ts file for fis3 | |
*/ | |
module fis { | |
/** | |
* fis 插件 | |
*/ | |
interface plugin { | |
} | |
/** | |
* 设置规则的配置接口 | |
* @param selector FIS3 把匹配文件路径的路径作为selector,匹配到的文件会分配给它设置的 props。关于 selector 语法,请参看 Glob 说明 | |
* @param props 编译规则属性,包括文件属性和插件属性,更多属性 | |
*/ | |
export function match(selector: string|RegExp, props: { | |
/** | |
* 设置文件的产出路径。默认是文件相对项目根目录的路径,以 / 开头。该值可以设置为 false ,表示为不产出(unreleasable)文件。 | |
*/ | |
release?: string, | |
/** | |
* 分配到这个属性的文件将会合并到这个属性配置的文件中 | |
*/ | |
packTo?: string, | |
/** | |
* 用来控制合并时的顺序,值越小越在前面。配合 packTo 一起使用。 | |
*/ | |
packOrder?: number, | |
/** | |
* 指定文件的资源定位路径之后的query,比如'?t=123124132'。 | |
*/ | |
query?: string, | |
/** | |
* 指定文件的资源id。默认是 namespace + subpath 的值 | |
*/ | |
id?: string, | |
/** | |
* 指定文件资源的模块id。在插件fis3-hook-module里面自动包裹define的时候会用到,默认是 id 的值。 | |
*/ | |
moduleId?: string, | |
/** | |
* 指定文件的资源定位路径,以 / 开头。默认是 release 的值,url可以与发布路径 release 不一致。 | |
*/ | |
url?: string, | |
/** | |
* 指定文本文件的输出编码。默认是 utf8,可以制定为 gbk 或 gb2312等。 | |
*/ | |
charset?: string, | |
/** | |
* 指定对文件进行 html 相关语言能力处理 | |
*/ | |
isHtmlLike?: boolean, | |
/** | |
* 指定对文件进行 css 相关的语言能力处理 | |
*/ | |
isCssLike?: boolean, | |
/** | |
* 指定对文件进行 js 相关的语言能力处理 | |
*/ | |
isJsLike?: boolean, | |
/** | |
* 文件是否携带 md5 戳 | |
* 文件分配到此属性后,其 url 及其产出带 md5 戳; | |
*/ | |
useHash?: boolean, | |
/** | |
* 给文件 URL 设置 domain 信息 | |
* 如果需要给某些资源添加 cdn,分配到此属性的资源 url 会被添加 domain; | |
*/ | |
domain?: string, | |
/** | |
* 设置最终文件产出后的后缀 | |
* 分配到此属性的资源的真实产出后缀 | |
*/ | |
rExt?: string, | |
/** | |
* 文件信息是否添加到 map.json | |
* 分配到此属性的资源出现在静态资源表中,现在对 js、css 等文件默认加入了静态资源表中 | |
*/ | |
useMap?: boolean, | |
/** | |
* 标示文件是否为组件化文件。 | |
* 标记文件为组件化文件。被标记成组件化的文件会入map.json表。并且会对js文件进行组件化包装。 | |
*/ | |
isMod?: boolean, | |
/** | |
* 在[静态资源映射表][]中的附加数据,用于扩展[静态资源映射表][]表的功能。 | |
*/ | |
extras?: Object, | |
/** | |
* 默认依赖的资源id表 | |
*/ | |
requires?: [string], | |
/** | |
* 开启同名依赖 | |
* 当设置开启同名依赖,模板会依赖同名css、js;js 会依赖同名 css,不需要显式引用。 | |
*/ | |
useSameNameRequire?: boolean, | |
/** | |
* 文件是否使用编译缓存 | |
* 当设置使用编译缓存,每个文件的编译结果均会在磁盘中保存以供下次编译使用。设置为 false 后,则该文件每次均会被编译。 | |
*/ | |
useCache?: boolean, | |
/** | |
* 启用 lint 插件进行代码检查 | |
*/ | |
lint?: plugin|[plugin], | |
/** | |
* 启用 parser 插件对文件进行处理; | |
*/ | |
parser?: plugin|[plugin], | |
/** | |
* 标准化前处理 | |
*/ | |
preprocessor?: plugin|[plugin], | |
/** | |
* 自定义标准化,可以自定义 uri、embed、require 等三种能力,可自定义三种语言能力的语法; | |
*/ | |
standard?: plugin|[plugin], | |
/** | |
* 标准化后处理 | |
*/ | |
postprocessor?: plugin|[plugin], | |
/** | |
* 启用优化处理插件,并配置其属性 | |
*/ | |
optimizer?: plugin|[plugin] | |
/** | |
* 打包预处理插件 | |
*/ | |
prepackager?: plugin|[plugin], | |
/** | |
* 打包插件 | |
*/ | |
packager?: plugin|[plugin], | |
/** | |
* 打包后处理插件。 | |
*/ | |
postpackager?: plugin|[plugin], | |
/** | |
* 为了减少资源网络传输的大小,通过压缩器对 js、css、图片进行压缩是一直以来前端工程优化的选择。在 FIS3 中这个过程非常简单,通过给文件配置压缩器即可。 | |
*/ | |
optimizer?: plugin|[plugin], | |
/** | |
* 设置项目发布方式 | |
* 编译打包后,新增发布阶段,这个阶段主要决定了资源的发布方式,而这些方式都是以插件的方式提供的。比如你想一键部署到远端或者是把文件打包到 Tar/Zip 又或者是直接进行 Git 提交,都可以通过设置此属性,调用相应的插件就能搞定了。 | |
* 假设项目开发完后,想部署到其他机器上,我们选择 http 提交数据的方式部署 | |
*/ | |
deploy?: plugin|[plugin], | |
/** | |
* 我们还可以对图片进行合并,来减少请求数量 | |
*/ | |
spriter?: plugin|[plugin], | |
}); | |
/** | |
* 接口提供多种状态功能,比如有些配置是仅供开发环境下使用,有些则是仅供生产环境使用的。 | |
* @param name | |
*/ | |
export function media(name: string); | |
/** | |
* 加载插件 | |
* @param name | |
* @param props | |
*/ | |
export function plugin(name: string, props: {}): plugin|[plugin]; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment