美文网首页
iview 切换主题集成到项目

iview 切换主题集成到项目

作者: 唐植超 | 来源:发表于2019-11-05 09:21 被阅读0次

iview 是很不错的ui控件库,从第一版本发出后,我就一直在跟进并多次在项目中使用,不过我从来没有用过iview的修改主题,而是写一套样式,直接覆盖

前几天iview升级到4.0了,字体,间距等发生了变化,不得已,我才去看看iview的主题修改[https://www.iviewui.com/docs/guide/theme]

简单来说,就是几个命令:

npm install iview-theme -g     //全局安装
iview-theme init my-theme   // 初始化主题
//修改主题  custom.less  
@font-size-base 14px 改 12px
cd my-theme //进入主题目录
iview-theme build -o dist/   //编译到指定目录
//main.js 引入主题
import '../my-theme/dist/iview.css';

看似很简单,但是每次修改的时候都需要走这么多步骤,才能看效果,我就决定不合理。于是乎,我想把它集成到项目中

过程还算顺利,直接上结果吧:

npm install iview-theme -g     //全局安装
iview-theme init my-theme   // 初始化主题
//修改主题  custom.less  
@font-size-base 14px 改 12px
//上面的几个步骤无法省略

项目目录结构

-rootdir
  -mock
  -public
  -shell
    -buildTheme.js
  -src
  -theme
    -theme   //初始化的主题目录
    -theme_dist //编译后的主题目录
  -package.json

以下为集成步骤

// 在项目中安装 iview-theme
cd yourprojectdir
 npm install iview-theme -D
// 安装 npm run all
npm install npm-run-all -D
//package.json scripts 增加
"buildTheme": "node ./shell/buildTheme.js",  //执行主题编译
"buildForThem": "npm-run-all -l -p -s buildTheme build", //编译主题并打包项目
"startForTheme": "npm-run-all -l -p -s buildTheme serve",//编译主题并启动项目

buildTheme.js 中的内容 ,这是我从iview-theme中复制出来修改的

const gulp = require('gulp')
const cleanCSS = require('gulp-clean-css')
const less = require('gulp-less')
const rename = require('gulp-rename')
const autoprefixer = require('gulp-autoprefixer')
const series = require('run-sequence').use(gulp)
const path = require('path')
const ora = require('ora')

const process = require('process');
var output = path.join(process.cwd(), "theme", "theme_dist")
process.chdir(path.join(process.cwd(), "theme", "theme"));
console.log(process.cwd())

function build(output) {
    console.log("开始编译主题")
    // 编译less
    console.log("编译less...")
    const spinner = ora('compiling less').start()
    gulp.task('css', function () {
        gulp.src('./index.less')
            .pipe(less())
            .pipe(autoprefixer({
                browsers: ['last 2 versions', 'ie > 8']
            }))
            .pipe(cleanCSS())
            .pipe(rename('iview.css'))
            .pipe(gulp.dest(output))
            .on('err', err => {
                console.log("编译less失败")
                console.log(err);
                spinner.failed(err)
            })
            .on('end', () => {
                console.log("编译less成功")
                spinner.succeed()
            })
    })

    // 拷贝字体文件
    console.log("拷贝字体文件...")
    const spinner2 = ora('copying fonts').start()
    gulp.task('fonts', function () {
        gulp.src('./common/iconfont/fonts/*.*')
            .pipe(gulp.dest(path.resolve(output, './fonts')))
            .on('err', err => {
                console.log("拷贝字体文件失败")
                console.log(err);
                spinner.failed(err)
            })
            .on('end', () => {
                console.log("拷贝字体文件成功")
                spinner2.succeed()
            })
    })

    series('css', 'fonts')
}

build(output); //执行主题打包

main.js

import ViewUI from 'view-design'; //引入iview 4.x
import 'view-design/dist/styles/iview.css'; //引入iview.css
import '../theme/theme_dist/iview.css'; //引入主题

启动或编译项目

npm run buildForTheme //编译项目
npm run startFormTheme //启动项目

相关文章

  • iview 切换主题集成到项目

    iview 是很不错的ui控件库,从第一版本发出后,我就一直在跟进并多次在项目中使用,不过我从来没有用过iview...

  • Vue项目动态主题切换

    Vue项目动态主题切换 通常情况下,很多后台管理界面需要有好几套颜色的主题,我们的Vue项目已经集成了Elemen...

  • 项目切换主题

    一般而言,项目中用到的图片都会放在Assets.xcassets这个文件夹中,项目中使用的时候只需要使用image...

  • mpvue 小程序如何使用 iview weapp 中的 tab

    本例依赖mpvue 2.0 先将 iview weapp 的 dist文件夹复制到项目的 static/iview...

  • 登陆页面使用iview

    安装iview 项目目录执行 npm install --save iview 导入iview 修改src/mai...

  • 使用node安装iview-admin

    1、下载安装nodejs、git2、从github拉去iview-admin 代码 3、切换到项目文件夹,打开cm...

  • VUE项目中Scss实现主题切换

    项目中提到了全局切换主题的需求。在项目开发中切换主题用到主要技术有Scss,Vuex。 一、Scss部分 实现思路...

  • iview 教程一《创建新项目》

    iview 创建新项目 下载iview-clihttp://www.iview.com 打开主程序 点击新建工程 ...

  • iOS 答题功能实现

    最近项目中答题模块进行了优化,可切换主题,切换字体大小,答题背题模式。 答题主界面,可切换答题,背题模式 切换主题...

  • 后台管理 --- vue

    1.iview后台管理项目(基于iview ui)文档2.element后台管理项目(基于element ui)文...

网友评论

      本文标题:iview 切换主题集成到项目

      本文链接:https://www.haomeiwen.com/subject/satsbctx.html