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

为公司做网站关键词点击优化工具

为公司做网站,关键词点击优化工具,北京市地铁建设管理公司网站,安装wordpress错误文章目录 系列全集vite 处理css流程vite如何解决协同开发,样式重复覆盖的问题?使用less通过配置,更改vite的css默认行为vite 利用postcss样式兼容低版本浏览器 系列全集 (01)vite 从启动服务器开始 (02&am…

文章目录

    • 系列全集
    • vite 处理css流程
    • vite如何解决协同开发,样式重复覆盖的问题?
    • 使用less
    • 通过配置,更改vite的css默认行为
    • vite 利用postcss样式兼容低版本浏览器

在这里插入图片描述

系列全集

(01)vite 从启动服务器开始
(02)vite环境变量配置
(03)vite 处理 css

vite 处理css流程

vite 天生就支持对css文件的处理,主要的处理流程如下。

  1. vite读取到main.js中引用到了index.css
  2. 通过fs模块去读取index.css文件的内容
  3. 直接创建一个style标签,将index.css中的文件内容直接copy进style标签中
  4. 将style标签插入到index.html的head中
  5. 将该css文件中的内容直接替换为hs脚本(方便热更新或者css模块化)

创建一个index.css文件

* {padding: 0;margin: 0;box-sizing: border-box;
}

将其引入main.js中

import { count } from "./counter.js";
import "./index.css"console.log(count);

启动vite服务器

yarn dev 或者yarn vite

将css的内容注入style标签,放置到head标签里
在这里插入图片描述

原本index.css的文件被替换了
在这里插入图片描述

vite如何解决协同开发,样式重复覆盖的问题?

使用css module css模块化

  1. css模块化是 以 module.css 结尾的文件,这是css开启模块化的标志。
  2. xxx.module.css里面所有的样式名称进行一定规则的替换(增加hash字符串,比如footer 替换为 _footer_123st)
  3. 同时创建一个映射对象 {footer: '_footer_123st'}
  4. 将替换后的内容塞进style标签里然后放入head标签中。
  5. 将原本的xxx.module.css内容全部抹除,替换成对应js脚本。
  6. 将创建的映射对象在脚本中默认导出

分别创建 一下文件
在这里插入图片描述

componentA index.module.css 配置

.footer {width: 100vw;height: 300px;background-color: aquamarine;
}

componentB index.module.css 配置

.footer {width: 100vw;height: 300px;background-color: yellowgreen;
}

componentA index.js

import componentAcss from "./index.module.css"const div = document.createElement("div");div.className = componentAcss.footer;document.body.appendChild(div)

componentB index.js

import componentBcss from  "./index.module.css"const div = document.createElement("div");div.className = componentBcss.footer;document.body.appendChild(div)

在main.js中全部引入

import "./index.css"
import "./index.less"
import './src/componentA/index.js'
import './src/componentB/index.js'

启动服务器之后,发现css module的类名都被替换了,加了hash
在这里插入图片描述

在这里插入图片描述

使用less

有的时候我们需要使用css预编译器,比如less

创建index.less文件

body {background-color: yellow;
}

在main.js中引入

import { count } from "./counter.js";
import "./index.css"
import "./index.less"
console.log(count);

启动vite服务器后,报错
在这里插入图片描述
提示我们需要安装less依赖,less属于开发依赖,

yarn add -D less 或者 npm install less -D

重启服务器后就能正常解析less了
在这里插入图片描述

通过配置,更改vite的css默认行为

import { defineConfig } from "vite";export default defineConfig({css: {// 会丢给postcss module 去配置  https://github.com/madyankin/postcss-modulesmodules: { // 只针对模块化的样式scopeBehaviour: "local", // 配置当前的css样式的行为是local模块化,还是global全局化,有hash就是开启模块化,因为它可以保证不同的模块相同类名不重复。// generateScopedName: "[name]__[local]___[hash:base64:5]", // 自定义生成名字的规则 更多配置 https://github.com/webpack/loader-utils#interpolatenamegenerateScopedName:(name,filename,css) => {// name css文件的类名// filename 当前css的绝对路径// css 当前给定的样式return `${name}_${Math.random() * 100}`},localsConvention: "camelCaseOnly", // 修改生成的配置对象的展示形式,驼峰/划线/中划线形式hashPrefix: "", // 补充的hash前缀,会参与到生成的类名中globalModulePaths: [""] // 导入了第三方样式时,或某些不希望module.css模块化hash时,使用这个globalModulePaths,填入css模块化的路径。},preprocessorOptions: {// 预处理的配置less: { // 更多less全局配置 https://less.bootcss.com/usage/#lessjs-optionsmath: "always",globalVars: { // 配置less的全局变量,greenColor: "#008000",}}},devSourcemap: true // 开发中能够快速找到某样式对应的样式文件}
});

css开启 devSourcemap 后,能够快速找到每一个样式对应的文件名,但最好只在开发环境中使用,

在这里插入图片描述
不开启devSourcemap 时,一般是上生产环境,默认情况下也是不开启的。

在这里插入图片描述

vite 利用postcss样式兼容低版本浏览器

安装

yarn add postcss-preset-env -D

vite.config.hs中配置

import { defineConfig } from "vite";
import postcssPresetEnv from "postcss-preset-env";export default defineConfig({optimizeDeps: {exclude: [], // 将指定数组中的依赖不进行预构建},envPrefix: "ENV", // 更改环境变量注入到业务代码中,所需的前缀名css: {modules: {scopeBehaviour: "local", // 配置当前的css样式的行为是local模块化,还是global全局化,有hash就是开启模块化,因为它可以保证不同的模块相同类名不重复。// generateScopedName: "[name]__[local]___[hash:base64:5]", // 自定义生成名字的规则 更多配置 https://github.com/webpack/loader-utils#interpolatenamelocalsConvention: 'camelCase', // 修改生成的配置对象的展示形式,驼峰/下划线camelCaseOnly/中划线形式hashPrefix: "11", // 补充的hash前缀,会参与到生成的类名中// globalModulePaths: [""]},devSourcemap: true, // 开发中能够快速找到某样式对应的样式文件postcss: {plugins:[postcssPresetEnv()]}}
});

测试css是否降级兼容

.footer {width: clamp(100px, 100%, 500px);height: 300px;background-color: aquamarine;
}

配置postcssPresetEnv 之前
在这里插入图片描述

配置postcssPresetEnv 之后
在这里插入图片描述

在这里插入图片描述

http://www.yidumall.com/news/12647.html

相关文章:

  • 多个网站建站百度账号个人中心
  • nba的网站制作样板中国新冠疫苗接种率
  • 如何做响应式布局网站运营培训班有用吗
  • 建个网站的电话百度搜索指数入口
  • 怎样建网站 步骤百度知道合伙人官网
  • 大连市住房和建设局网站优化关键词的作用
  • 深圳微商城网站制作公司东莞做网站seo
  • 点卡网站怎么做深圳推广
  • 县委政府信息网站建设北京seo优化排名推广
  • 旅游景点网页设计代码网站推广关键词排名优化
  • 中信建设有限责任公司工程资质郑州seo
  • 做公司网站注意什么温州seo博客
  • 网页建设技术和网站策划书手机制作网页用什么软件
  • 长春做网站企业百度人工客服电话怎么转人工
  • 如何自己做淘宝客网站杭州网站推广找哪家
  • 文化旅游做的好的网站手机百度提交入口
  • 自助建站最好的平台职业技能培训网上平台
  • 网站网络结构设计网站运营主要做什么
  • 零基础网站建设教学视频搜狗站长推送工具
  • wordpress手机端发布软件优化大师网页版
  • 网站做优化效果怎样百度关键词在线优化
  • 阿里巴巴日文网站建设代理济南网站优化排名推广
  • 没有公众号建微信网站全网营销系统是不是传销
  • 中国网站模板下载今日国内新闻最新消息
  • 专业网站建设 公司哪家好广告优化师适合女生吗
  • 网站设计合同模板如何制作一个网页网站
  • 公共交通公司网站建设方案360推广登录
  • 代刷网站只做软件竞价推广托管公司价格
  • 上海网站建设机构seo是搜索引擎吗
  • 如可做网站漯河seo推广