Global

Methods

da(diropt, globPatternsopt, optsopt, callbackopt)

deploy-asset(简称 da)

分析 dir 下的所有 html 文件,查找到所有关联的静态文件(如 js, css, font, image 等), 将所有这些文件上传到指定的服务器上.

如果指定了 globPatterns 参数,则只会分析 dirglobPatterns 所指定的文件( globPatterns 不会匹配文件夹 ):

  • 如果globPatterns 匹配到 html, css, js,则分析并上传
  • 如果globPatterns 匹配到其它无法分析的文件,如 mp3, mp4, font 等,则直接上传它们
Parameters:
Name Type Attributes Default Description
dir String <optional>
'.'

文件夹路径,只会分析所有 dir 内的文件,如果出现文件在 dir 目录外(远程文件不算),会报错

globPatterns String | Array <optional>
null

glob 字符串, 指定要分析的文件或文件夹,而不是分析整个 dir 目录

opts Object <optional>
{}

配置项,支持在项目目录或个人目录下使用 .darc 的 json 文件 保存配置,使用了 rc 来解析

Properties
Name Type Attributes Default Description
uploader String <optional>
'qiniu'

指定上传组件,默认且只支持 qiniu,但你可以注册自己的上传组件 参考这里

uploaderOptions Object <optional>

上传模块需要的配置,透传给指定的 uploader,参考 QiniuUploader

eachUploadLimit Integer <optional>

每次同步上传的个数限制,默认是 cpu 个数的两倍

includes Array <optional>
[]

这里指定的文件会合并到 globPatterns 中, 支持使用 glob

excludes Array <optional>
[]

这里指定的文件会从 globPatterns 中排除

useAbsoluteRefFiles Array <optional>
[]

这里指定的文件中的内容所含资源会使用绝对路径,否则 HTML 和 CSS 中会优先使用相对路径, 支持使用 glob

unbrokenFiles Array <optional>
[]

这里指定的文件的内容不会更新 支持使用 glob

unuploadFiles Array <optional>
[]

这里指定的文件会被计算到,但不会上传到远程,注意,源文件是永远不会被更新的, 所以如果你想看此配置中的结果,通过指定 outDir 来查看。 支持使用 glob

outDir String | Boolean <optional>
false

输出分析后的文件到此文件夹,如果设置为 false 则不会输出生成的文件

prefix String <optional>
''

输出的新的文件名的前缀

suffix String <optional>
''

输出的新的文件名的后缀

logLevel String <optional>
'warn'

打印的日志级别, 可以为 silly, verbose, profiler, info, warn, error, silent

deep Integer | Boolean <optional>
false

指定要遍历文件夹的深度( globPatterns 需要为 null ) true: 递归,false|0: 当前文件夹,其它数字表示指定的深度

rename Integer | RenameFunction <optional>
-1

重命名文件的 basename

  • 如果是 0 ,会忽略文件的名称,完全使用 hash 字符串,如 770b95bb61d5b0406c135b6e42260580.js
  • 如果是 -1,则不会添加任何 hash 字符串
  • 如果是 Integer,会加上 rename 个 hash 字符在 basename 后面,如 rename = 4, base.js => base-23ab.js
  • 如果是 Function,则会调用此 function 来返回新的 basename
flat Boolean <optional>
false

是否将静态资源扁平化处理,七牛总是会扁平化处理

destDir String <optional>
null

要将静态资源发布到的远程目录,七牛不支持此选项

htmlExts String <optional>
'html,htm'

指定 html 文件可能的后缀名

jsExts String <optional>
'js'

指定 js 文件可能的后缀名

cssExts String <optional>
'css'

指定 css 文件可能的后缀名

jsonExts String <optional>
'json'

指定 json 文件可能的后缀名

force Boolean <optional>
false

如果静态资源没找到,是否强制继续执行

dry Boolean <optional>
false

只显示执行结果,不真实上传文件

callback function <optional>
null

文件上传完成后的回调函数,callback 的参数是一个所有文件组成的 Object

Source:
Examples

分析当前文件夹及其子文件夹的所有 html 文件,并上传所有关联的静态文件

da('.');

只分析当前文件夹,不分析其子文件夹的 html 文件,同时上传所有关联的静态文件

da('.', {deep: false});

上传 image 目录下的 .png 文件

da('./image', '*.png');

Type Definitions

RenameFunction(oldBaseName, relativePath, fileContent) → {String}

修改文件 basename,返回一个新的 basename

如果返回的不是一个字段串,则会使用默认的 basename,而不是此函数返回的

Parameters:
Name Type Description
oldBaseName String

文件 basename

relativePath String

文件相对于当前目录的路径

fileContent String

文件内容

Source:
See:
  • da.opts.rename
Returns:

newBaseName - 返回新的 basename

Type
String

UploaderCallback(err, returns)

Parameters:
Name Type Description
err Error

上传失败的错误

returns *

上传成功后返回的信息

Source:
See:
  • QiniuUploader.uploadFile