UNPKG

html-css-scope-loader

Version:

html add css scope ( html template add css module)

91 lines (70 loc) 2.33 kB
# html-cssScope-loader 这是一个参考vue-loader,为了解决CSS作用域实现的一个loader,为解决template添加css作用域的loader方案,支持sass,less,css三种解析 参考vue-loader:data-v-xxxxx方案实现,而非css-loader的CSS module方案 目前使用在一些 AngularJS 1.xx 版本 和一些需要innerHTML等动态解析html生产DOM的项目中 采用vue-loader:data-v-xxxxx方案主要是为了解决ng-class等类似 动态渲染的class情况 注意 loader返回的html内容是string类型的html->template,并不是真实的dom元素 ## Installation ``` npm install html-css-scope-loader ``` ## Examples Webpack ->rules-> config: ```javascript { test: /\.html$/, use: [{ loader:'html-css-scope-loader', options: { minimize: true // = css-loader minimize extendsLoader:[ // extends loader { loader: 'px2rem-loader', options: { remUnit: 100, remPrecision: 8 } } ] } }] }, ``` Html tempalte ```html <!-- 请注意--> <!-- 由于参考vue-loader实现, 所以html:template !必须存在且只有一个根元素包裹--> <!-- 并且相关自闭和元素,如img 必须按照<img xxx />方式闭合 不可以<img></img>方式 --> <div class="watch-center-table fixed-height"> <table class="account-ctrl-table"> <tr> <th>品牌</th> <th>异常扣费</th> <th>被封账号</th> </tr> <tr> <!-- <td>自主账号</td> --> <td colspan="3" class="title-tr"><p><span>自主账号</span></p></td> </tr> <tr ng-repeat="item in selfAccountRiskControlData track by $index"> <td>{{(item.type == 1 ? 21 : item.type) | bikeType}}</td> <td>{{item.exceptionCost}}</td> <td ng-class="{'redNotice': item.forbidden > 0}">{{item.forbidden}}</td> </tr> <tr> <td colspan="3" class="title-tr"><p><span>共享账号</span></p></td> </tr> <tr ng-repeat="item in shareAccountRiskControlData track by $index"> <td>{{(item.type == 1 ? 21 : item.type) | bikeType}}</td> <td>{{item.exceptionCost}}</td> <td ng-class="{'redNotice': item.forbidden > 0}">{{item.forbidden}}</td> </tr> </table> </div> <!-- 支持@import 'xxxx' | require('xxx')两种方式--> <!-- 支持scss,less,css 三种类型--> <style> @import '../style/accountCtrl.scss'; @import '../style/table.scss' </style> ```