全局属性

全局属性通过 fis.set 设置,通过 fis.get 获取;

内置的默认配置

var DEFAULT_SETTINGS = {
  project: {
    charset: 'utf8',
    md5Length: 7,
    md5Connector: '_',
    files: ['**'],
    ignore: ['node_modules/**', 'output/**', '.git/**', 'fis-conf.js']
  },

  component: {
    skipRoadmapCheck: true,
    protocol: 'github',
    author: 'fis-components'
  },

  modules: {
    hook: 'components',
    packager: 'map'
  },

  options: {}
};

project.charset

project.md5Length

project.md5Connector

project.files

project.ignore

project.fileType.text

project.fileType.image

文件属性

fis3 以文件属性控制文件的编译合并以及各种操作;文件属性包括基本属性和插件属性,插件属性是为了方便在不同的插件扩展点设置插件;

基本属性

release
packTo
packOrder
fis.match('/*.js', {
  packTo: 'pkg/script.js'
})

fis.match('/mod.js', {
  packOrder: -100
})
query
id
moduleId
url
charset
isHtmlLike
isCssLike
isJsLike
useHash
domain
rExt
useMap
isMod
extras
requires
useSameNameRequire
useCache
useCompile

插件属性

插件属性决定了匹配的文件进行哪些插件的处理;

lint

启用 lint 插件进行代码检查

fis.match('*.js', {
    lint: fis.plugin('js', {

    })
})

更多插件

parser

启用 parser 插件对文件进行处理;

如编译less文件

fis.match('*.less', {
   parser: fis.plugin('less'), //启用fis-parser-less插件
   rExt: '.css'
});

如编译sass文件

fis.match('*.sass', {
    parser: fis.plugin('node-sass'), //启用fis-parser-node-sass插件
    rExt: '.css'
});

更多插件

preprocessor

标准化前处理

fis.match('*.{css,less}', {
    preprocessor: fis.plugin('image-set')
});

更多插件

standard

自定义标准化,可以自定义 uri、embed、require 等三种能力,可自定义三种语言能力的语法;

更多插件

postprocessor

标准化后处理

fis.match('*.{js,tpl}', {
   postprocessor: fis.plugin('require-async')
});

更多插件

optimizer

启用优化处理插件,并配置其属性

fis.match('*.css', {
    optimizer: fis.plugin('clean-css')
});

更多插件

打包阶段插件

打包阶段插件设置时必须分配给所有文件,设置时必须 match ::package,不然不做处理。

fis.match('::package', {
    packager: fis.plugin('map'),
    spriter: fis.plugin('csssprites')
});
prepackager
packager
spriter
postpackager
deploy

文档内容有误,可提 PR,文档地址: /doc/docs/api/config-props.md