前端自动化构建工具 - FIS3 - 第六节:amd模块化支持
前言
个人感觉就是用来规范格式化输出你的amd 代码,书写规范参考commonjs。
安装插件
需要安装2个插件
1
2
sudo npm install -g fis3-hook-amd
sudo npm install -g fis3-hook-commonjs
说明 https://www.npmjs.com/package/fis3-hook-amd
实战
项目准备
1
2
3
/amd-module
/static
/static/require.js
包下载地址 http://requirejs.org/
创建amd-module模块
/amd-module/center/order.js
1
2
3
4
5
6
7
8
9
10
define(function (require, exports, module) {
var config = require("../system/config");
console.log(config.serverip());
exports.list = function(){
return "产品列表...";
};
});
/amd-module/system/config.js
1
2
3
4
5
6
7
define(function (require, exports, module) {
exports.serverip = function () {
return "127.0.0.1";
};
});
/amd-module/system/cart.js
1
2
3
exports.hello = function () {
return "hello";
};
调用app页面
/app/index.html
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript" src="../static/require.js"></script>
<script type="text/javascript">
require.config({
baseUrl: "/",
});
require(["amd-module/center/order.js"], function(order){
console.log(order.list());
});
</script>
配置fis-conf.js文件
1
2
3
4
5
6
7
8
9
10
11
12
13
// 开启 amd 插件
fis.hook('amd');
// 指定哪些需要被格式化的模块js
fis.match('/amd-module/**/*.js', {
isMod: true
//release: '/static/$0'
});
// 需要排除的文件
fis.match('/static/require.js', {
isMod: false
});
测试运行
fis3 release
查看被格式化的模块
amd-module/center/order.js
1
2
3
4
5
6
7
8
9
10
define('amd-module/center/order', ['require', 'exports', 'module', "amd-module/system/config"], function (require, exports, module) {
var config = require("amd-module/system/config");
console.log(config.serverip());
exports.list = function(){
return "产品列表...";
};
});
amd-module/system/cart.js
1
2
3
4
5
6
7
define('amd-module/system/cart', ['require', 'exports', 'module'], function(require, exports, module) {
exports.hello = function () {
return "hello";
};
});
amd-module/system/config.js
1
2
3
4
5
6
7
define('amd-module/system/config', ['require', 'exports', 'module'], function (require, exports, module) {
exports.serverip = function () {
return "127.0.0.1";
};
});
代码
https://github.com/hans007/JavaScriptCodes/tree/master/fis3/use-amd