Ajaxmin MinifyJavascript 在对象前添加 {}
Ajaxmin MinifyJavascript adding {} before object
我在使用 AjaxMin 的 MinifyJavaScript 方法缩小 javascript file 时遇到问题。
未压缩代码
if (typeof define === 'function' && define.amd) {
define(['moment'], function (moment) {
root.moment = factory(moment)
return root.moment
})
} else if (typeof exports === 'object') {
module.exports = factory(require('moment'))
} else {
root.moment = factory(root.moment)
}
精简代码
if(typeof define=="function"&&define.amd)define(["moment"],function(i){return n.moment=t(i),n.moment});else if(typeof exports=="object"){module{}.exports=t(require("moment"))}else n.moment=t(n.moment)}
此处在压缩代码中,“{}”是在模块对象之后添加的,例如:module{}.exports 但它应该是 module.exports
在缩小文件之前还有几个文件:
1.jquery-3.3.1.min.js
2. moment.min.js
所有文件都捆绑在一个文件中,然后完成缩小。
我认为这是问题的原因
- ajaxmin source code模块好像是保留字
- If/else 作用域无法正确编译为输出。
这似乎导致了问题
var blockType = AjaxMin.BlockTypeModule.FormatInvariant
(moduleScope.ScopeName.IfNullOrWhiteSpace(AjaxMin.ModuleNameImplicit));
解决方法(这是我在我的项目中所做的):
- 您可以将字符串
module{}.
替换为 module.
- 使用三元运算符而不是 if/else(很可能这将跳过整个块的替换)
- 使用该文件的缩小版本(这将跳过缩小)
我在使用 AjaxMin 的 MinifyJavaScript 方法缩小 javascript file 时遇到问题。
未压缩代码
if (typeof define === 'function' && define.amd) {
define(['moment'], function (moment) {
root.moment = factory(moment)
return root.moment
})
} else if (typeof exports === 'object') {
module.exports = factory(require('moment'))
} else {
root.moment = factory(root.moment)
}
精简代码
if(typeof define=="function"&&define.amd)define(["moment"],function(i){return n.moment=t(i),n.moment});else if(typeof exports=="object"){module{}.exports=t(require("moment"))}else n.moment=t(n.moment)}
此处在压缩代码中,“{}”是在模块对象之后添加的,例如:module{}.exports 但它应该是 module.exports
在缩小文件之前还有几个文件: 1.jquery-3.3.1.min.js 2. moment.min.js
所有文件都捆绑在一个文件中,然后完成缩小。
我认为这是问题的原因
- ajaxmin source code模块好像是保留字
- If/else 作用域无法正确编译为输出。
这似乎导致了问题
var blockType = AjaxMin.BlockTypeModule.FormatInvariant
(moduleScope.ScopeName.IfNullOrWhiteSpace(AjaxMin.ModuleNameImplicit));
解决方法(这是我在我的项目中所做的):
- 您可以将字符串
module{}.
替换为module.
- 使用三元运算符而不是 if/else(很可能这将跳过整个块的替换)
- 使用该文件的缩小版本(这将跳过缩小)