翻譯|使用教程|編輯:龔雪|2022-09-19 10:30:24.223|閱讀 180 次
概述:本文主要為大家介紹在使用Kendo UI for Vue控件的過程中如何編譯一個應用程序主題,歡迎下載最新版控件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Kendo UI致力于新的開發,來滿足不斷變化的需求。Kendo UI for Vue使用旨在提高性能和豐富用戶體驗的Vue組件,幫助開發人員構建下一代應用程序。它是為Vue技術框架提供可用的Kendo UI組件,以便更快地構建更好的Vue應用程序。
所有Kendo主題都是用sass寫的,使用scss語法,您需要一個sass編譯器來編譯它們,同時我們還支持node-sass和dart-sass。
由于主題的復雜性,我們依靠 postcss、autoprefixer 和 postcss-calc 來正確編譯它們。
以下設置將從源 ./sass/kendo-theme.scss 生成 ./dist/kendo-theme.css。
請注意:
// assuming ./sass/kendo-theme.scss
@import "../node_modules/@progress/kendo-theme-default/dist/all.scss";
const gulp = require('gulp');
const sass = require('gulp-sass');
const postcss = require("gulp-postcss");
const autoprefixer = require("autoprefixer");
const calc = require("postcss-calc");
const Fiber = require('fibers');
// Use node sass
sass.compiler = require('node-sass');
// Use dart-sass
// sass.compiler = require('dart-sass');
const postcssPlugins = [
calc({
precision: 10
}),
autoprefixer({
overrideBrowserslist: [ '> 10%' ]
})
];
const sassOptions = {
precision: 10,
outputStyle: 'expanded',
fiber: Fiber
};
gulp.task('sass', function () {
return gulp.src('./sass/**/*.scss')
.pipe(sass.sync(sassOptions).on('error', sass.logError))
.pipe(postcss(postcssPlugins))
.pipe(gulp.dest('./dist'));
});
確保安裝了 style-loader、sass-loader、node-sass、dart-sass、postcss-loader、autoprefixer、postcss-calc 和 fiber。
// assuming ./sass/kendo-theme.scss
@import "~@progress/kendo-theme-default/dist/all.scss";
module.exports = {
module: {
rules: [
{
test: /.scss$/i,
use: [
// Creates `style` nodes from JS strings
'style-loader',
// Translates CSS into CommonJS
'css-loader',
// PostCSS
{
loader: 'postcss-loader',
options: {
precision: 10,
plugins: [
require('autoprefixer')(),
require('postcss-calc')()
]
}
},
// Compiles Sass to CSS
{
loader: 'sass-loader',
options: {
implementation: require('node-sass'),
// implementation: require('dart-sass'),
sassOptions: {
precision: 10,
// fiber: require('fibers')
}
}
}
]
}
]
}
};
以下是Kendo主題的常見問題列表以及如何解決這些問題。
編譯很慢
從主題的第一天開始,我們希望主題“自動”加載給定組件所需的樣式。換句話說,如果您只需要網格,主題將加載所有輸入組件,因為它們是編輯功能所必需的,這會導致多個重復的子導入,因此在編譯時會影響性能。
如果您需要整個主題,可以導入/dist/all.scss,來替代導入/scss/all.scss。這是主題的單文件版本,編譯速度要快得多。
如果你需要導入多個組件,可以看看我們的主題任務和 sassimporter 助手,它實現了一種緩存機制來避免重復的文件處理。
無效的嵌套計算表達式
由于主題的復雜性,嵌套或其他無效的計算表達式可能會出現在生成的 css 中。 要處理這個問題,請在您的 gulp 或 webpack 工作流程中使用 postcss-calc。
Telerik_KendoUI產品技術交流群:726377843 歡迎一起進群討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網