MVC4 번들, 최소화 및 각도JS 서비스
Asp 방식을 맞춤화할 수 있는 방법이 있나요?넷 MVC4 번들&최소화 기능을 통해 js 파일이 최소화됩니까?
즉, 미니미네이션(minimization)을 완전히 끄고 싶지는 않지만, "있는 그대로"는 AngularJs를 깨트릴 뿐입니다.
AngularJs는 컨트롤러에 서비스를 주입하기 위해 DI 및 IoC 접근방식을 사용하기 때문에 다음과 같습니다.
function MyController($scope) { }
최소화되면 다음이 됩니다.
function MyController(n) { }
보통은 문제가 되지 않지만, AngularJs는 파라미터 이름을 사용하여 어떤 서비스를 주입할지를 파악합니다.따라서 $scope는 각도 컨트롤러의 다른 파라미터와 마찬가지로 $scope를 유지해야 합니다.지역 변수 등 기타 모든 것은 정상적으로 최소화해야 합니다.
Mvc4의 최소화를 설정하는 방법에 대한 명확한 문서를 찾을 수 없습니다.또, 「모두 아니면 아무것도」라고 하는 것은 다소 바보 같은 것 같기 때문에, 뭔가 빠뜨리고 있는 것 같습니다.
감사해요.
실제로 각도(Angular)를 쓸 수 있습니다.JS 코드이므로 "minization safe"입니다.상세한 것에 대하여는, http://docs.angularjs.org/guide/di 의 「의존성 주석」섹션을 참조해 주세요.단, 글로벌하게 정의된 컨트롤러의 경우는, 다음과 같이 기술할 수 있습니다.
MyController.$inject = ['$scope'];
글로벌하게 정의된 컨트롤러는 글로벌 네임스페이스를 오염시키고 있으므로(자세한 내용은 여기를 참조) 피해야 합니다.모듈 수준에서 컨트롤러를 선언하는 경우 다음과 같이 최소화할 수도 있습니다.
angular.module('mymodule', []).controller('MyController', ['$scope', function($scope){
//controller code goes here
}]);
최소화할 것과 최소화할 것을 제어하는 경우(또는 플러그인 벤더에 의해 이미 최소화된 버전을 포함시키는 경우)는 2개의 번들을 선언하고 그 중 하나만 BundleConfig.cs에서 최소화할 수 있습니다.
var dontMinify = new Bundle("~/bundles/toNotMinify").Include(
"~/Scripts/xxxxx.js");
bundles.Add(dontMinify);
var minify = new Bundle("~/bundles/toNotMinify").Include(
"~/Scripts/yyyyyy.js");
minify.Transforms.Add(new JsMinify());
bundles.Add(minify);
"minization-safe" angular-DI 구문을 쓰기를 원하지 않거나 쓸 수 없는 분들을 위해 변수 이름이 난독화되는 것을 개의치 않는 분들을 위해, 저는 Nuget을 통해 제공되는 Yui Js minifier와 함께 Bundle Transfomer를 사용했습니다.
Install-Package BundleTransformer.Core
Install-Package BundleTransformer.Yui
최소화/암독화를 매우 세밀하게 제어할 수 있습니다.각도 세계에서는 yui web.config 섹션 내의 난독화 자바스크립트를 false로 설정합니다.
언급URL : https://stackoverflow.com/questions/14909541/mvc4-bundling-minification-and-angularjs-services
'programing' 카테고리의 다른 글
경고:텍스트 내용이 일치하지 않습니다.서버: "I'm out" 클라이언트: "I'm in" div (0) | 2023.03.25 |
---|---|
현재 게시물의 WordPress Post ID 가져오기 (0) | 2023.03.25 |
반응에서 클래스 전환 (0) | 2023.03.25 |
의 포장을 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」의 포장을 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」의 포장을.. (0) | 2023.03.25 |
루팅을 지원하는 AngularJS UI 부트스트랩 탭 (0) | 2023.03.25 |