模块加载和定义项目代码的一部分是:
复制代码代码如下所示:
XX.define('ns,{ 'tool /饼干},函数()){
});
或
XX.define('ns。NS2,'tool /饼干,工具/ ABC、函数()){
})
或
XX.define('ns,函数(){(){
})
js使用的打包工具是扫描文件,然后匹配需要加载的模块,然后加载模块代码。
主要的Nodejs包装工具的代码如下:
复制代码代码如下所示:
/通用模块
Var Util =需要('util),
FS =需要('fs),
getdeps =需要('。 / getdeps),
丑化=需要('。 / /丑化丑化js),
removebomchar =需要('。 / removebomRemoveBOMChar),
路径=需要('path);
无功packagedobj = {}; / /过度包装
module.exports =功能(文件路径,rootpath,选择){
选择=选择| | { };
var str = jscombo(文件路径,rootpath);
如果(选择。解压缩){
返回字符;
其他{ }
返回丑化(STR);
}
};
功能jscombo(文件路径,rootpath){
如果(Util.isArray(文件路径)){
返回filepaths.map(功能(路径){
路径= path.join(rootpath,文件路径);
包装
如果(packagedobj {听}){
返回' ';
}
packagedobj { } = 1文件路径;
有没有/
如果(FS.existsSync(路径)){
异步读取
var str = fs.readfilesync(文件路径,'utf-8);
删除头
STR = removebomchar(STR);
VaR结果= getdeps(STR,rootpath);
无功量= result.content;
内容= / /+路径+ +内容;
递归包
如果(结果列表){
返回jscombo(result.list,rootpath)+内容;
}
返回内容
返回内容;
其他{ }
错误信息文件不存在
Console.error('jscombo错误:' +路径+不存在!路径是:+ rootpath);
回报;警报(+路径+不存在!;
}
}。');
其他{ }
jscombo({ }返回文件路径,rootpath);
}
}
Nodejs还没有仔细研究过,所有的记录和书写,所以代码很涩。