wumi_blog icon indicating copy to clipboard operation
wumi_blog copied to clipboard

fis3 使用记录

Open 5Mi opened this issue 8 years ago • 2 comments

又重新尝试用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相关更多参见

5Mi avatar Apr 30 '16 14:04 5Mi

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 重新构建一下就好了

5Mi avatar May 08 '16 07:05 5Mi

手机连wifi 调试 fis3 server start --qrcode

5Mi avatar Sep 21 '16 05:09 5Mi