翻譯|使用教程|編輯:龔雪|2022-09-19 10:30:24.223|閱讀 165 次
概述:本文主要為大家介紹在使用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@fc6vip.cn
文章轉載自:慧都網