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

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

时间:2022-09-20 09:46:16浏览次数:76  
标签:scss Vue sass require 应用程序 loader gulp 组件 postcss

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。

 

// 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'));
});

 

使用 webpack

确保安装了 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    欢迎一起进群讨论

了解最新Kendo UI最新资讯,请关注Telerik中文网!

标签:scss,Vue,sass,require,应用程序,loader,gulp,组件,postcss
From: https://www.cnblogs.com/AABBbaby/p/16709955.html

相关文章

  • vue安装与使用
    1、查看node是否安装:   node-v如果没有安装  就去安装node   2、查看npm是否安装   npm-v 如果没有安装  就去安装npm   3、创建项目......
  • VCL界面组件DevExpress VCL v22.1 - 发布全新的Shell组件
    DevExpressVCLControls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响......
  • 旧版UI组件-GUIText
    1.UI UI就是用户操作界面。在使用Unity开发游戏(MMORPG,MMOARPG)的客户端的时候,至少50%的工作量是在写UI界面和UI界面的逻辑。1.1.常用UI系统简介<1>NGUINGUI......
  • react useMemo、useEffect和 useCallback区别及与 vue 对比
    reactuseMemo和useEffect和useCallbackuseEffecteffect只能在DOM更新后触发useMemo传入useMemo的函数会在渲染期间执行,即在DOM更新前触发的,就像官方所说的,类比......
  • 组件和Prefabs
    常用组件Mesh组件MeshFilter:网格过滤器。该组件用于在项目资源中获取网格(Mesh)并将其传递到所属的游戏对象中。添加MeshFilter组件后,还需要为游戏添加一个MeshRenderer......
  • vue3 watch和 watchEffect对比
    watch和watchEffectwatchwatch显式指定依赖数据,依赖数据更新时执行回调函数具有一定的惰性(lazy),第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置i......
  • TEditWebBrowser 组件
    继承TWebBrowser组件编写的组件:TEditWebBrowser,改写了原Mouse、Keyboard事件和OnEnter、OnExit事件。改写了TWebBrowser的焦点设置获取方法。超强的Edit功能,完全替代TRichE......
  • 【Vue】Vue 组件交互(四)
    本例介绍Vue组件交互1、新建Vue项目参考:【Vue】Vue项目搭建(二)2、引入CSSindex页面引入bootstrap.css1<!DOCTYPEhtml>2<html>3<head>4<......
  • Element UI / Vue -- Form
     FormAttributes参数说明类型可选值默认值model表单数据对象object——rules表单验证规则object——inline行内表单模式boolean—falselab......
  • Element UI / Vue -- Input
     InputAttributes参数说明类型可选值默认值type类型stringtext,textarea和其他原生input的type值textvalue/v-model绑定值string/number—......