当前位置: 首页 > news >正文

vue2企业级项目(五)

vue2企业级项目(五)

页面适配、主题切换

1、适配

  1. 项目下载插件

    npm install --save-dev style-resources-loader vue-cli-plugin-style-resources-loader
    
  2. 修改vue.config.js部分内容

    const path = require("path");module.exports = {pluginOptions: {"style-resources-loader": {preProcessor: "less",patterns: [// 全局变量路径path.resolve(__dirname, "./src/styles/index.less"),],},},...
    };
  3. 创建style/custom.less

    .rem(@px) {@result: unit((@px / 10), rem);
    }
  4. 此时就可以在其他组件使用全局变量和全局混入函数

    <style lang="less" scoped>
    .wrap {width: .rem(100) [];color: red;background-color: @mycolor;
    }
    </style>
    
  5. main.js引入最基础的flexible.js

    (function flexible(window, document) {var docEl = document.documentElement;var dpr = window.devicePixelRatio || 1;// 设置根字体大小function setRootFontSize() {var screenWidth = docEl.clientWidth || window.innerWidth || document.documentElement.clientWidth;var fontSize = screenWidth / 10; // 假设以屏幕宽度的 1/10 作为根字体大小docEl.style.fontSize = fontSize + 'px';}// 设置 viewport 的缩放比例function setViewportScale() {var scale = 1 / dpr;var metaEl = document.querySelector('meta[name="viewport"]');if (!metaEl) {metaEl = document.createElement('meta');metaEl.setAttribute('name', 'viewport');document.head.appendChild(metaEl);}metaEl.setAttribute('content', 'width=device-width, initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no');}setRootFontSize();setViewportScale();// 监听窗口大小变化,重新设置根字体大小和缩放比例window.addEventListener('resize', function() {setRootFontSize();setViewportScale();});
    })(window, document);
    

2、主题切换

静态更换

直接根据element-ui官方文档提供的主题生成器,生成自己的主题颜色样式包。然后下载,并在项目中引入。并删除之前原有的组件样式。

动态更换

https://www.cnblogs.com/jiaoshou/p/16178580.html

  1. 下载插件

    npm install --save-dev webpack-theme-color-replacer@1.3.3
    
  2. 修改vue.config.js

    const ThemeColorReplacer = require("webpack-theme-color-replacer");
    ...module.exports = [configureWebpack: {plugins: [new ThemeColorReplacer({fileName: "css/theme-colors-[contenthash:8].css",matchColors: ["#409EFF"],injectCss: true,}),],},
    ]
    
  3. 切换颜色

    import client from "webpack-theme-color-replacer/client";function themeChange(color) {client.changer.changeColor({ newColors: ["" + color] });
    }
    
http://www.lryc.cn/news/99717.html

相关文章:

  • 【HTML5】拖放详解及实现案例
  • Codeforces Round 888 (Div. 3)(视频讲解全部题目)
  • MySQL之深入InnoDB存储引擎——物理文件
  • Jquery操作html常用函数
  • 【Lua学习笔记】Lua进阶——Table,迭代器
  • 重庆市北斗新型智慧城市政府项目
  • FANUC机器人SRVO-217故障报警原因分析及参考解决办法
  • 统信UOS安装mysql数据库(mariadb)-统信UOS安装JDK-统信UOS安装nginx(附安装包)
  • 上门小程序开发|上门服务小程序|上门家政小程序开发
  • 1000道网络安全必备面试题合集,秋招金九银十必看!!!
  • 从0-1实现简易Raft分布式共识算法
  • Spring 创建和使用
  • Javadoc comment自动生成
  • vue3 +ts 报错 index.vue 不是模块
  • win10 hadoop报错 unable to load native-hadoop library
  • 前端(九)——探索微信小程序、Vue、React和Uniapp生命周期
  • MyBatis查询数据库(2)
  • Jenkins构建完成后发送消息至钉钉
  • 从浏览器输入url到页面加载(六)前端必须了解的路由器和光纤小知识
  • C语言假期作业 DAY 06
  • [nlp] tokenizer加速:fast_tokenizer=True
  • 基于OpenCV solvePnP函数估计头部姿势
  • STC12C5A系列单片机内部 EEPROM 的应用
  • 搭建测试平台开发(一):Django基本配置与项目创建
  • JavaWeb教程笔记
  • 数据库压力测试方法小结
  • Spring Boot——Spring Boot自动配置原理
  • 深度学习:Pytorch最全面学习率调整策略lr_scheduler
  • 【uniapp】更改富文本编辑器图片大小
  • 数据结构和算法一(空间复杂度、时间复杂度等算法入门)