ui-bootstrap-tpls.min.js와 ui-bootstrap.min.js의 차이점은 무엇입니까?


196

cdnjs 의 Angular-UI-Bootstrap 페이지 에서 다음과 같이 말합니다.

트위터의 부트 스트랩에 대한 네이티브 AngularJS (Angular) 지시어. 작은 설치 공간 (5 kB gzipped!), 타사 JavaScript 종속성 (jQuery, Bootstrap JavaScript)이 필요하지 않습니다!

... 및 옵션이 있습니다

//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.6.0/ui-bootstrap-tpls.min.js

//cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.6.0/ui-bootstrap.min.js

이것들을 비교하면 미묘한 차이가 있으며, 그에 대한 문서를 찾을 수없는 것 같습니다 ...

간단히 말해, 사용자 정의 템플릿을 만들지 않는 한 tpls를 사용하십시오.

github.com/angular-ui/bootstrap/tree/gh-pages#build-files (홈페이지에서도 링크 됨)에 설명되어 있습니다. 간단히 말해 -tpls 버전에는 기본 부트 스트랩 템플릿이 번들로 제공됩니다. 어쨌든 나열된 파일 중 하나만 포함해야합니다. -감사합니다 pkozlowski.opensource


5
그것은 여기에 설명되어 있습니다 : github.com/angular-ui/bootstrap/tree/gh-pages#build-files (뿐만 아니라 홈 페이지에서 링크). 간단히 말해 -tpls 버전에는 기본 BS 템플릿이 번들로 제공됩니다. 어쨌든 나열된 파일 하나만 포함해야 합니다.
pkozlowski.opensource

13
첫 번째 셔츠는 셔츠가 없습니다.
tintyethan

답변:


198

따라서 JavaScript 코드 에는 ui-bootstrap-tpls.min.js == (ui-bootstrap.min.js + HTML 템플릿)이 필요합니다. ui-bootstrap.min.js 만 포함한 경우 고유 한 HTML 템플릿도 제공해야합니다.

그렇지 않으면 다음과 같은 내용이 표시됩니다.

GET http://localhost:8989/hello-world/template/tooltip/tooltip-popup.html 404 (Not Found) angular.js:7073
Error: [$compile:tpload] http://errors.angularjs.org/undefined/$compile/tpload?p0=template%2Ftooltip%2Ftooltip-popup.html
    at Error (<anonymous>)
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:6:453
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:54:14
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:64:438
    at A (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:89:258)
    at A (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:89:258)
    at http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:90:465
    at g.$eval (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:98:272)
    at g.$digest (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:96:142)
    at g.$apply (http://localhost:8989/hello-world/js/vendor/angular-1.2.0-rc.3/angular.min.js:99:100)

1
여기서 HTML 템플릿을 사용하는 것은 무엇입니까? 우리는 우리 자신의 레이아웃을 생성하기 위해 필요합니까?
롤링 스톤

1
@Sridhar 각 지시문에는 약간의 HTML이 필요합니다. 대부분의 사람들은 tpls 버전을 사용하려고합니다. 모든 부분을 처리 / 전달하는 사용자 정의 방법이 있고 기본 라이브러리에 포함시키지 않으려면 비 tpls 버전을 사용하려고합니다.
cyberwombat

1
내 응용 프로그램에는 각 페이지에 대한 부분 집합이 있습니다. 그리고 우리는 그것들을위한 일련의 기능을 가지고 있습니다. Pls는 tpls의 정확한 또는 실제 사용을 정교화합니다.
롤링 스톤

실제로 일부 템플릿을 적용하고 tpls 버전을 사용하고 싶지 않습니다. 어떻게 쉽게 할 수 있습니까?
Vlad

3
명확하게하기 위해 : ui-bootstrap.min.js이미 포함했을 때 포함 할 필요가 없습니다ui-bootstrap-tpls.min.js
Tim Büthe

66

tpls태그는 파일도 템플릿이 포함되어 있다는 것을 의미한다.

예를 들면 다음과 같습니다.

ui-bootstrap.js

angular.module("ui.bootstrap"
 ["ui.bootstrap.transition"
"ui.bootstrap.collapse"
"ui.bootstrap.accordion"
"ui.bootstrap.alert"
"ui.bootstrap.bindHtml"
"ui.bootstrap.buttons"
"ui.bootstrap.carousel"
"ui.bootstrap.position"
"ui.bootstrap.datepicker"
"ui.bootstrap.dropdownToggle"
"ui.bootstrap.modal"
"ui.bootstrap.pagination"
"ui.bootstrap.tooltip"
"ui.bootstrap.popover"
"ui.bootstrap.progressbar"
"ui.bootstrap.rating"
"ui.bootstrap.tabs"
"ui.bootstrap.timepicker"
"ui.bootstrap.typeahead"]);
angular.module('ui.bootstrap.transition'
 [])

ui-bootstrap-tpls.js

angular.module("ui.bootstrap"
 ["ui.bootstrap.tpls"
 "ui.bootstrap.transition"
"ui.bootstrap.collapse"
"ui.bootstrap.accordion"
"ui.bootstrap.alert"
"ui.bootstrap.bindHtml"
"ui.bootstrap.buttons"
"ui.bootstrap.carousel"
"ui.bootstrap.position"
"ui.bootstrap.datepicker"
"ui.bootstrap.dropdownToggle"
"ui.bootstrap.modal"
"ui.bootstrap.pagination"
"ui.bootstrap.tooltip"
"ui.bootstrap.popover"
"ui.bootstrap.progressbar"
"ui.bootstrap.rating"
"ui.bootstrap.tabs"
"ui.bootstrap.timepicker"
"ui.bootstrap.typeahead"]);

angular.module("ui.bootstrap.tpls"
 ["template/accordion/accordion-group.html"
"template/accordion/accordion.html"
"template/alert/alert.html"
"template/carousel/carousel.html"
"template/carousel/slide.html"
"template/datepicker/datepicker.html"
"template/datepicker/popup.html"
"template/modal/backdrop.html"
"template/modal/window.html"
"template/pagination/pager.html"
"template/pagination/pagination.html"
"template/tooltip/tooltip-html-unsafe-popup.html"
"template/tooltip/tooltip-popup.html"
"template/popover/popover.html"
"template/progressbar/bar.html"
"template/progressbar/progress.html"
"template/rating/rating.html"
"template/tabs/tab.html"
"template/tabs/tabset-titles.html"
"template/tabs/tabset.html"
"template/timepicker/timepicker.html"
"template/typeahead/typeahead-match.html"
"template/typeahead/typeahead-popup.html"]);
angular.module('ui.bootstrap.transition'
 [])

예를 들면 다음과 같습니다. template / alert / alert.html

angular.module("template/alert/alert.html", []).run(["$templateCache", function($templateCache) {
  $templateCache.put("template/alert/alert.html",
    "<div class='alert' ng-class='type && \"alert-\" + type'>\n" +
    "    <button ng-show='closeable' type='button' class='close' ng-click='close()'>&times;</button>\n" +
    "    <div ng-transclude></div>\n" +
    "</div>\n" +
    "");
}]);

2

사람들은 이미이 질문에 대답했지만 릴리스 0.13.4부터는 개별 템플릿을 사례별로 제공 할 수있는 기능을 추가했습니다 (예 : 애플리케이션 전체가 아닌 각 지시어 사용). 그러나 후자는하기 힘들지 않다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.