wumi_blog
wumi_blog copied to clipboard
fis3 使用记录
又重新尝试用fis3 之前弄明白没明白的地方都忘了这次好好记录下,希望能坚持住= =!
开启同名依赖
fis.match('/widget/**', {
release: '${project.static}/$&',
//开启同名依赖后 会自动依赖同名文件,即使没显式声明依赖 postpackager-loader 依然会自动在页面通过script 或link 加载依赖的资源
useSameNameRequire: true
});
isMod: true
标记文件为组件化文件。被标记成组件化的文件会入map.json表。并且会对js文件进行组件化包装。
isMod: true
声明为模块,设置
fis.hook('commonjs', { baseUrl: '.', extList: ['.js', '.es'] });
插件hook-commonjs会自动添加define包裹 所以即使因为同名依赖packager-loader通过script标签引入配置了isMod:true的js文件也应该 require()一下,有modjs 才能在浏览器环境中运行define中具体的源码
模块导出
module.exports =
和exports.
//export function someFunction(){} export const
fis3-postpackager-loader相关
给 loader 插件配置 allInOne 属性,即可对散列的引用链接进行合并,而不需要进行配置 packTo 指定合并包名 即packTo的文件不会进行 allInOne打包
注意data-loader属性 <!--ignore-->
和<!--RESOURCEMAP_PLACEHOLDER-->
注释块 异步请求会需要生成的resourcemap
注意 构建出的script标签顺序
启用 allinone 打包,把队列中,挨一起的资源合并。如果是内联内容,直接合并即可,如果是外链文件,则合并文件内容,生成新内容。
packager-loader相关更多参见
fis3 server clean
可以清空www调试目录中的文件(其实是将www目录一并删除了,不知道怎么能在release时就自动清空后发布)
fis3 inspect
可以查看文件身上的文件属性 并能看到来自第几个match规则
fis.media().match
可以放在fisconfig文件最后 这样fis3 release media 时可以将默认的match规则跑完在去跑media中的额外规则
小问题
通过svn更新代码之后在release总会出现 循环嵌套 的错误 ,需要重新down代码才能再构建,有待商榷如何规避
但有的时候只需要 fis3 server clean && fis3 release -cwL
重新构建一下就好了
手机连wifi 调试
fis3 server start --qrcode