javascript - 怎样用yuicompressor压缩使用了seajs架构的js代码?
怪我咯
怪我咯 2017-04-10 12:42:07
[JavaScript讨论组]

yuicompressor会替换本地变量名
于是require就被替换了掉了,但是http://seajs.org/docs/zh-cn/rules.htm...
seajs要求require不被替换

yuicompressor好像不能为单独的变量加一个特殊规则
但要为了一个require不压缩所有的本地变量又觉得不划算呀。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHPz

建议用 spm 来打包

黄舟

修改源码
util.parseDependencies = function(code) {
var ret = [], match, regRequire,
regGet = /^function\s*\(\s*(\w+)/;

code = removeComments(code);

match = regGet.exec(code);
regRequire = new RegExp('(?:^|[^.$])\\b' + match[1] + '\\s*\\(\\s*([\"\'])([^\"\'\\s\)]+)\\1\\s*\\)', 'g');

regRequire.lastIndex = 0;

while ((match = regRequire.exec(code))) {
if (match[2]) {
ret.push(match[2])
}
}

return util.unique(ret)
}

怪我咯

可以使用UglifyJS进行压缩:

UglifyJS hello.js -o hello.min.js -c -m -r require
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号