我正在压缩像这样的js文件:
mix.scripts('resources/assets/js/pages/login.js', 'public/js/login.js');
我的预压缩文件包含此功能:
function zoomInForm() {
$('#login-page').toggleClass('zoom animated');
........ ........
}
但是在我的压缩文件中,函数zoomInForm
被重命名,所以我永远不能在我的页面上调用zoomInForm();
函数。
如何在不删除函数的情况下将js文件压缩到一行?
答案 0 :(得分:2)
如果minifier重命名该函数,它还会重命名您在JS文件中调用它的每个位置。
通常,您应该从不在JS文件之外使用JavaScript。不在脚本标记中,不在onclick属性中。
如果你想要fx。听按钮点击,你应该在JS中创建监听器:
$('#login-page').click(function(){
zoomInForm();
);
虽然cssBlaster21895
为您的特定问题提供了真正的解决方案,但我相信更正确的解决方案是将您的JavaScript逻辑移动到您的JS文件中。
答案 1 :(得分:1)
您可以阻止重命名功能。您可以将uglify选项传递给混合选项。
mix.options({
uglify: {
"mangle": {
"except": ["zoomInForm"]
}
}
});
也许它可以提供帮助,但也许你的整个剧本可能有问题,甚至双重声明相同的功能,只是一个猜测......
或尝试以其他方式声明一个函数:
var zoomInForm = function(){...}
然后在脚本中稍后需要使用zoomInForm()时调用它,看看发生了什么。