这是纯前端的 amd demo,fisp 的版本,jello 的版本。
npm install -g fis
此 demo 中使用了三插件,注意安装。
npm install fis-postprocessor-amd -g
npm install fis-postpackager-autoload -g
npm install fis-packager-depscombine -g
下载此 demo
npm install lights -g
lights install fis-amd-demo
进入 fis-amd-demo 目录 编译 & 运行
// 开起打包编译
fis release -p
fis server start
除了 require.async
外,其他写法都兼容。其实原来的写法 require.async(id | deps, callback)
等价于 require(deps, callback)
,不过也没关系,fis-postprocessor-amd 会自动纠正这种用法。
另外不在 define
中的 require(id) 这种用法,不是 amd 的标准用法,但是有很多老用户是这么写的,所以做了兼容处理,但是不推荐这么用, 因为这样你是没法把 mod-amd.js 直接换成 require.js 使用。
由于 FIS 产出的 module id 为这种格式 ns:path/xxxx, require.js 认为它是 url 导致发送 script 请求而报错。
需要对 require.js 做修改,直接在最下面加上如下配置
// 修改 require.js
// 由于 fis 中生成的 module id 格式为 xxx:path 这种格式,被认为是 url 导致 require.js 会发请求
require.jsExtRegExp = /^\/|:\/\/|\?/;