fis3-hook-lego
fis3 版本的 lego
包管理的模块查找,http://lego.imweb.io/ 。
背景
如下目录结构:
.
├── index.html
├── lego_modules
│ ├── dialog
│ │ └── 0.1.0
│ │ ├── custom.js
│ │ └── package.json
│ ├── slider
│ │ └── 0.1.0
│ │ └── index.js
│ ├── tab
│ │ └── 0.1.0
│ │ └── tab.js
│ └── test_module
│ └── 0.1.0
│ └── index.js
├── map.json
├── modules
│ ├── common
│ │ ├── common.js
│ │ └── header
│ │ ├── db.header.js
│ │ └── header.js
│ ├── common.js
│ ├── index
│ │ └── header
│ │ ├── db.header.js
│ │ └── header.js
│ └── test_module.js
└── pages
└── index
├── main.css
└── main.js
现在 main.js
内容:
var dialog = ;var slider = ;var tab = ; // lego_modules 中的快速引用var version = ; // 指定版本var common = ;var testModule = ;var header = ; // modules 中也可以省去 `modules`var index = ; // 查找modules/index.js ; modules/index/index.js
使用
安装
npm i fis3-hook-lego -g
配置
在 fis-conf.js
中:
fis; fis ;
注意
由于有多版本的场景,lego会修改文件id,比如require('zepto'), 产出后是 require('zepto/1.1.6/zepto')
,
其他插件的配置中需要zepto时,比如 ignore: ['zepto'],查找会有问题,解决方案:
-
ignore: ['zepto/1.1.6/zepto'],指定具体的版本
-
在处理逻辑之前,调用 fis.get('idMaps'), 将zepto的id进行转化(ps:idMaps中记录了lego对文件id的修改,key值是修改前的id,value是修改后的id)