Grunt是如何缩小或丑化IIFE的
How does Grunt minify or uglify IIFE?
在标准grunt serve
中,我在我的一个指令周围使用IIFE,如下所示:
(function() {
"use strict";
angular.module('napiRest')
.directive('componentStaffReport', ['$modal', 'ComponentStaffFactory', function ($modal, ComponentStaffFactory) {
return {
restrict: 'E',
transclude: true,
scope: {
componentId: '=componentId',
linkableContent: '=linkableContent'
},
templateUrl: 'app/pages/report/component-staff/component-staff-popup.html',
link: function (scope, element, attr) {
ComponentStaffFactory.componentId = scope.componentId;
var modalInstance = null;
scope.open = function () {
modalInstance = $modal.open({
templateUrl: 'ComponentStaffModal.html',
controller: 'ComponentStaffingCtrl',
size: 'lg',
backdrop: true,
windowClass: 'x-x-large-modal'
});
ComponentStaffFactory.modalInstance = modalInstance;
};
} //link
}; //return
}])
})();
当我使用grunt serve:dist
进行部署时,这不起作用。我得到错误:Uncaught TypeError: object is not a function
然而,当我移除周围的IIFE时,它可以正常工作。这是由dist的咕哝声中丑陋或缩小的方式引起的吗?
问题似乎是由另一个文件中缺少分号引起的。另一个文件是一个角度控制器,末尾没有分号。当grunt丑化代码时,它将这个文件和上面的文件混合在一起,创建了自己的匿名函数,这当然是编译器不喜欢的。
相关文章:
- IIFE中的函数引用不可用
- 如何在d3上的图形中添加放大和缩小按钮
- 如何替换导出功能中的IIFE
- 为什么IIFE的这个变量指的是全局范围
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- AmCharts缩小事件
- 我需要iframe的内容像动画一样展开,填满整个屏幕并缩小到原来的大小
- 在手机上缩小/缩放滚动图像
- 如果状态不匹配,则缩小为丑陋
- 引导模式缩小动画
- 使用源映射在Visual Studio中调试缩小的JavaScript
- 我应该连接/缩小已经缩小的JS/CSS吗?如果是,如何
- UglifyJs用于JSON缩小的JavaScript API
- 创建缩放功能当我们点击签署整个页面获得缩放,当我们点击-签署它获得缩小
- 缩小并更改滚动时的背景导航栏
- 如何将服务传递给IIFE
- IIFE jquery已准备就绪
- 颗粒-JavaScript/CSS缩小SIMPLE/ADVANCED优化不起作用
- 在用户用动画滚动175像素后缩小固定的Div
- Grunt是如何缩小或丑化IIFE的