【发布时间】:2019-12-16 13:37:06
【问题描述】:
我目前需要维护一个使用 angular-ui-select 0.19.8 的 angular.js 1.5 应用程序。
我遇到的问题是,打包应用程序时 ui-select 会以某种方式中断。
使用grunt serve运行时,这部分:
<ui-select mandatory-field-marker
multiple ng-required="true"
ng-model="some.periods">
<ui-select-match placeholder="Select some periods...">
{{$item | period}}
</ui-select-match>
<ui-select-choices
repeat="period in formCtrl.periods">
<div ng-bind-html="period | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
这不仅仅是样式问题,损坏的输入字段不允许超过 10 个元素,然后由于切换到下一个组件而无法点击。
打包是用 grunt 完成的,据我所知,这些是用于缩小代码的步骤:
useminPrepareconcatngAnnotateimageminautoprefixercssminuseminhtmlmin
我找到了一些解决方法,例如降级 ui-select 并将匹配的类添加到 <ui-select> 和 <ui-select-choices>,但它们都不起作用。
bower 拉取的 ui-select 依赖似乎已经被缩小了:
更新:这似乎是 grunt 和/或 bower 的问题。
重新配置托管网站的 Apache 后,我遇到了错误,即缺少 vendor.min.css。
我在(由 bower 生成的)index.html 头中找到了它说的部分:
<!-- build:css(.) styles/vendor.min.css -->
<!-- bower:css -->
<link rel="stylesheet" href="bower_components/angular-ui-select/dist/select.css" />
<link rel="stylesheet" href="bower_components/ng-tags-input/ng-tags-input.css" />
<!-- endbower -->
<!-- endbuild -->
<!-- build:css(.) styles/bootstrap.min.css -->
<link rel="stylesheet" href="styles/bootstrap.css">
<!-- endbuild -->
<!-- build:css(.) styles/main.min.css -->
<link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
但是,只有 bootstrap.min.css 和 main.min.css 被打包到我的 dist 中:
还是不知道是什么原因。
【问题讨论】:
-
您使用的是 ui-select min 版本吗?还是你自己缩小它?
-
目前缩小是使用 grunt-contrib 任务完成的,该任务包含 htmlmin、cssmin 等。 bower.json 将
"angular-ui-select": "0.19.8"作为依赖项,我不知道有缩小版的 ui-select -
然而,拉取的依赖似乎被缩小了。我已经添加了一张照片。
标签: angularjs gruntjs minify angular-ui-select