我在AngularJS中看到过这个具有滑块范围功能的库: Ion.RangeSlider
并且有一个人在Angular 2中制作一个封装器: ng2-ion-range-slider
我使用webpack
而不是Angular-Cli
。
我试图按照他的安装说明进行操作但没有样式。
任何人都可以帮我找到在webpack中放置样式路径的位置吗?
答案 0 :(得分:4)
我尝试了一些尝试失败后才能做到。
首先,我将Angular 5
与Webpack
和Angular Material
一起使用。
1)将滑块库及其包装器添加到package.json
文件。
"ion-rangeslider": "2.2.0"
"ng2-ion-range-slider": "~1.0.3"
2)我已将滑块样式添加到项目中的theme.scss
文件中,如下所示:
@import '~@angular/material/_theming.scss';
@import '~ion-rangeslider/css/ion.rangeSlider.css';
@import '~ion-rangeslider/css/ion.rangeSlider.skinModern.css';
// @import '~ion-rangeslider/css/ion.rangeSlider.skinFlat.css';
添加所需的样式取决于您选择的皮肤。
3)无需在javascript
中导入webpack
文件,我的意思是这两个文件:
jquery/dist/jquery.min.js
ion-rangeslider/js/ion.rangeSlider.js
4)在IonRangeSliderModule
。
AppModule
import { IonRangeSliderModule } from 'ng2-ion-range-slider';
现在,您可以像以下一样使用它:
<ion-range-slider type="double" [min]="min" [max]="max" [step]="step" [from]="value1"
[to]="value2" (onFinish)="sliderChange($event)">
</ion-range-slider>
更新
对于那些不使用Angular Material
的人您可以在css
配置文件中导入scss
和webpack
文件。
1-)安装sass-loader
库:
"sass-loader": "^6.0.3",
"sass-resources-loader": "^1.3.3",
2-)在项目中使用任何名称(例如scss
)创建新的./src/index.scss
文件,并将要导入的所有css
和scss
添加到此文件。
3-)在webpack.common.js
文件内,将其添加到规则中或如果存在则更改它:
/**
* To string and sass loader support for *.scss files (from Angular components)
* Returns compiled css content as string
*
*/
{
test: /\.scss$/,
use: ['to-string-loader', 'css-loader', 'sass-loader',
{
loader: 'sass-resources-loader',
options: {
// Provide path to the file with resources
resources: `./src/index.scss`
},
},
],
exclude: [helpers.root('src', 'styles')]
},