当前位置: 首页 > 文档资料 > FIS3 中文文档 >

File

优质
小牛编辑
134浏览
2023-12-01

fis.file~ File

new File(propsopt)

File,fis 编译过程中,文件会被此类进行封装,对于文件的操作,都是通过此类来完成。

Parameters:
NameTypeAttributesDescription
path...String

文件路径,可以作为多个参数输入,多个参数会被 / 串联起来。

propsObject<optional>

可以默认给文件添加一些属性

Properties:
NameTypeDescription
extString

文件名后缀。

realpathString

文件物理地址。

realpathNoExtString

文件物理地址,没有后缀。

subpathString

文件基于项目 root 的绝对路径。

subpathNoExtString

文件基于项目 root 的绝对路径,没有后缀。

useCompileBoolean

标记是否需要编译。

useDomainBoolean

标记是否使用带domain的地址。

useCacheBoolean

编译过程中是否采用缓存。

useMapBoolean

编译后是否将资源信息写入 map.json 表。

domainString

文件的 domain 信息,在 useDomain 为 true 时会被作用在链接上。

releaseString

文件的发布路径,当值为 false 时,文件不会发布。

urlString

文件访问路径。

idString

文件 id 属性,默认为文件在项目中的绝对路径,不建议修改。

requiresArray

用来记录文件依赖。

asyncsArray

用来记录异步依赖。

linksArray

用来记录此文件用到了哪些文件。

derivedArray

用来存放派生的文件,比如 sourcemap 文件。

extrasObject

用来存放一些附属信息,注意:此属性将会添加到 map.json 里面。

isHtmlLikeBoolean

标记此文件是否为 html 性质的文件。

isCssLikeBoolean

标记此文件是否为 css 性质的文件。

isJsLikeBoolean

标记此文件是否为 javascript 性质的文件。

isJsonLikeBoolean

标记此文件是否为 json 性质的文件。

Source:

Methods

addAsyncRequire(id)

添加异步依赖,同一个 ID 只会保留一条记录。

Parameters:
NameTypeDescription
idString

依赖的文件标识(id)

Source:

addLink(filepath)

向File.links中追加不重复link连接

Parameters:
NameTypeDescription
filepathString

连接

Source:

addRequire(id)

添加新的同步依赖,同一个 ID 只会保留一条记录。

Parameters:
NameTypeDescription
idString

依赖的文件标识(id)

Source:

addSameNameRequire(ext)

处理同名但不同后缀名的require

Parameters:
NameTypeDescription
extString

可以指定后缀,如果指定了,则添加指定后缀的同名依赖。

Source:

defineLikes() → {Undefined}

定义默认的文件类型,如:isHtmlLike、isJsLike、isCssLike。他们是互斥的,当设置其中某个值为 true 时,
其他属性应该为 false.

提取到一个方法里面原因是:isXXXLike 的属性是通过 Object.defineProperties
定义的,当 file 对象从文件 cache 里面反序列回来后,isXxxLike 系列的属性都会丢失。 所以这块需要重新调用(定义)一次。

Source:
Returns:
Type
Undefined

exists() → {Boolean}

返回文件是否真实存在。

Source:
Returns:
Type
Boolean

getBase64(prefix) → {String}

返回文件内容的base64编码

Parameters:
NameTypeDescription
prefixBoolean

是否需要base64格式头, 默认为 true

Source:
Returns:
Type
String

getCacheData() → {Object}

获取缓存数据, 文件每次编译都会存储一些属性到文件缓存。

默认除了 _xxxx 私有属性外所有的属性都会存入到缓存。

Source:
Returns:
Type
Object

getContent() → {String|Buffer}

获取文件内容

Source:
Returns:

文件内容

Type
String | Buffer

getHash() → {String}

获取文件内容的md5序列,多次调用,尽管文件内容有变化,也只会返回第一次调用时根据当时文件内容计算出来的结果。

Source:
Returns:

文件内容md5序列后的结果

Type
String

getHashRelease(release) → {String}

获取文件的发布路径,会带上 hash 信息,如果设置了 useHash 的话。

Parameters:
NameTypeDescription
releaseString

路径,不指定时使用此对象上的 release 属性。

Source:
Returns:
Type
String

getId() → {String}

返回文件 ID

Source:
Returns:
Type
String

getUrl() → {String}

返回文件url, 跟直接获取 url 属性不同,此方法会受 useHash 和 useDomain 设置影响,会对应加上内容。

Source:
Returns:
Type
String

isDir() → {Boolean}

判断文件路径是否为文件夹

Source:
Returns:
Type
Boolean

isFile() → {Boolean}

判断文件路径是否为文件

Source:
Returns:
Type
Boolean

isImage() → {Boolean}

返回文件是否为图片文件。

Source:
Returns:
Type
Boolean

isText() → {Boolean}

返回文件是否为文本文件。

Source:
Returns:
Type
Boolean

removeAsyncRequire(id)

删除异步require路径

Parameters:
NameTypeDescription
idString

文件id

Source:

removeRequire(id)

删除同步require路径

Parameters:
NameTypeDescription
idString

文件id

Source:

revertFromCacheData(cached)

当缓存有效时,将缓存数据还原到文件对象上。

Parameters:
NameTypeDescription
cachedObject

缓存数据

Source:

setContent(c) → {Object}

设置文件内容,可以是字符串或者 Buffer 对象。

Parameters:
NameTypeDescription
cString | Buffer

文件内容

Source:
Returns:

返回自身,方便链式调用

Type
Object

toString() → {String}

返回真实的物理路径

Source:
Returns:

路径

Type
String