• 如何使用Vue原生组件编译应用程序主题?这个工具不要错过


    Kendo UI致力于新的开发,来满足不断变化的需求。Kendo UI for Vue使用旨在提高性能和丰富用户体验的Vue组件,帮助开发人员构建下一代应用程序。它是为Vue技术框架提供可用的Kendo UI组件,以便更快地构建更好的Vue应用程序。

    所有Kendo主题都是用sass写的,使用scss语法,您需要一个sass编译器来编译它们,同时我们还支持node-sass和dart-sass。

    由于主题的复杂性,我们依靠 postcss、autoprefixer 和 postcss-calc 来正确编译它们。

    Kendo UI最新正式版下载

    使用 gulp

    以下设置将从源 ./sass/kendo-theme.scss 生成 ./dist/kendo-theme.css。

    请注意:

    • 我们包含/dist/all.scss,这是主题的扁平化单文件版本,用于更快的编译。
    • 将为市场份额至少为 10% 的浏览器生成前缀。
    • sassOptions.precision 设置在使用 dart-sass 时无效。
    • 确保安装 gulp-sass、node-sass、dart-sass、gulp-postcss、autoprefixer、postcss-calc 和 fiber。
    1. // assuming ./sass/kendo-theme.scss
    2. @import "../node_modules/@progress/kendo-theme-default/dist/all.scss";
    3. const gulp = require('gulp');
    4. const sass = require('gulp-sass');
    5. const postcss = require("gulp-postcss");
    6. const autoprefixer = require("autoprefixer");
    7. const calc = require("postcss-calc");
    8. const Fiber = require('fibers');
    9. // Use node sass
    10. sass.compiler = require('node-sass');
    11. // Use dart-sass
    12. // sass.compiler = require('dart-sass');
    13. const postcssPlugins = [
    14. calc({
    15. precision: 10
    16. }),
    17. autoprefixer({
    18. overrideBrowserslist: [ '> 10%' ]
    19. })
    20. ];
    21. const sassOptions = {
    22. precision: 10,
    23. outputStyle: 'expanded',
    24. fiber: Fiber
    25. };
    26. gulp.task('sass', function () {
    27. return gulp.src('./sass/**/*.scss')
    28. .pipe(sass.sync(sassOptions).on('error', sass.logError))
    29. .pipe(postcss(postcssPlugins))
    30. .pipe(gulp.dest('./dist'));
    31. });

    使用 webpack

    确保安装了 style-loader、sass-loader、node-sass、dart-sass、postcss-loader、autoprefixer、postcss-calc 和 fiber。

    1. // assuming ./sass/kendo-theme.scss
    2. @import "~@progress/kendo-theme-default/dist/all.scss";
    3. module.exports = {
    4. module: {
    5. rules: [
    6. {
    7. test: /.scss$/i,
    8. use: [
    9. // Creates `style` nodes from JS strings
    10. 'style-loader',
    11. // Translates CSS into CommonJS
    12. 'css-loader',
    13. // PostCSS
    14. {
    15. loader: 'postcss-loader',
    16. options: {
    17. precision: 10,
    18. plugins: [
    19. require('autoprefixer')(),
    20. require('postcss-calc')()
    21. ]
    22. }
    23. },
    24. // Compiles Sass to CSS
    25. {
    26. loader: 'sass-loader',
    27. options: {
    28. implementation: require('node-sass'),
    29. // implementation: require('dart-sass'),
    30. sassOptions: {
    31. precision: 10,
    32. // fiber: require('fibers')
    33. }
    34. }
    35. }
    36. ]
    37. }
    38. ]
    39. }
    40. };

    已知的问题

    以下是Kendo主题的常见问题列表以及如何解决这些问题。

    编译很慢

    从主题的第一天开始,我们希望主题“自动”加载给定组件所需的样式。换句话说,如果您只需要网格,主题将加载所有输入组件,因为它们是编辑功能所必需的,这会导致多个重复的子导入,因此在编译时会影响性能。

    如果您需要整个主题,可以导入/dist/all.scss,来替代导入/scss/all.scss。这是主题的单文件版本,编译速度要快得多。

    如果你需要导入多个组件,可以看看我们的主题任务和 sassimporter 助手,它实现了一种缓存机制来避免重复的文件处理。

    无效的嵌套计算表达式

    由于主题的复杂性,嵌套或其他无效的计算表达式可能会出现在生成的 css 中。 要处理这个问题,请在您的 gulp 或 webpack 工作流程中使用 postcss-calc。

  • 相关阅读:
    Python把word转为html(去水印版)
    京东获得JD商品详情 API 返回值说明
    如何在 pyqt 中实现桌面歌词
    【Java面向对象】封装的认识与实现
    一个基于.NET Core开源、跨平台的仓储管理系统
    【Ubuntu】设置永不息屏与安装 dconf-editor
    React 函数式组件性能优化指南
    电脑时间校对后不自动更新要如何解决
    Redis 缓存穿透、缓存击穿、缓存雪崩
    【代码随想录】算法训练营 第十天 第五章 栈与队列 Part 1
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/126946583