vite相關配置

1、vite開發環境和生產環境的環境變量配置

1、環境變量配置
vite本身會直接讀取為什么會讀取,因為含有dotenv第三方庫 ,會直接讀取 .env文件,

2、css模塊化簡單處理

css:{modules:{localsConvention: "camselCaseOnly" // 打包配置為駝峰命名規則。sopeBehaviour:"local" // 配置當前是全局 還是 局部。gengerateScopedName: //[name][local][hash:5] , 配置生成的css樣式名稱,也可以配置成函數。 一般不動hashPrefix:"hellow" // 配置hash生成規則 主要和 name 聯用。globalModulePaths:[] // 配置不參與 模塊化的文件路徑}, //是對css模塊化默認行為進行覆蓋},preprocessorOptions:{less:{math:"always", // 配置lessc的編譯內容,遇到乘除法自動進行globalVars:{ // 注入全局變量css  @mainColor就可以直接使用mainColor:"red"}},sass:{}devSourcemap:true,// 開啟css索引文件,可以在報錯的時候直接定位 直接定位到源代碼}
}

1、為了防止樣式被覆蓋,新建的css文件可以如下,通過加上module來改變css最終生成規則,會在類名的后面生成一個has值。

a.module.css

3、postcss的理解

1、保證css在執行運行起來萬無一失,,去將語法糖進行編譯(嵌套語法,函數,變量)變成原生的css,在次對未來的高級語法css進行降級,前綴補全,輸送到瀏覽器。(postcss包含了less)

npm install postcss -D

3.1、解釋一下 npm install XXX 加上-s、-d、-g和什么都不加的區別。
1.npm install XXX -s

npm install XXX -s 相當于 npm install -S 相當于 npm install --save
這樣安裝是局部安裝的,會寫進package.json文件中的dependencie里。
dependencies: 表示生產環境下的依賴管理;
說白了你安裝一個庫如果是用來構建你的項目的,比如echarts、element-ui,是實際在項目中起作用,就可以使用 -s 來安裝。

2.npm install XXX -d

npm install XXX -d 相當于 npm install -D 相當于 npm install --save-dev
這樣安裝是局部安裝的,會寫進package.json文件中的devDependencies 里。
devDependencies :表示開發環境下的依賴管理;
如果你安裝的庫是用來打包的、解析代碼的,比如webpack、babel,就可以用 -d 來安裝,項目上線了,這些庫就沒用了,不然留這些庫給用戶自己來打包和解析代碼嘛。

3.npm install XXX -g

npm install XXX -g 表示全局安裝,安裝一次過后,你就可以在其他直接用啦。

4.npm install XXX

npm install XXX 什么都不加的時候
npm 5開始通過npm install 什么都不加 和 npm install --save一樣,都是局部安裝并會把模塊自動寫入package.json中的dependencies里。

3.2 postcss內置屬性

1、Autoprefixer瀏覽器補全機制,比如我們使用了box-sizing:border-box;

box-sizing:border-box;
//瀏覽器自動補全 自動生成以下代碼
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;

2、postcss-preset-env:未來語法機制,可以書寫最新瀏覽器語法內容。

const postcssPresetEnv = require('postcss-preset-env');const yourConfig = {plugins: [/* other plugins *//* remove autoprefixer if you had it here, it's part of postcss-preset-env */postcssPresetEnv({/* pluginOptions */features: {'nesting-rules': {noIsPseudoSelector: false,},},})]
}
比如我們可以使用這些語法
@custom-media --viewport-medium (width <= 50rem);
@custom-selector :--heading h1, h2, h3, h4, h5, h6;:root {--mainColor: #12345678;
}body {color: var(--mainColor);font-family: system-ui;overflow-wrap: break-word;
}:--heading {background-image: image-set(url(img/heading.png) 1x, url(img/heading@2x.png) 2x);@media (--viewport-medium) {margin-block: 0;}
}a {color: rgb(0 0 100% / 90%);&:hover {color: rebeccapurple;}
}/* becomes */:root {--mainColor: rgba(18, 52, 86, 0.47059);
}body {color: rgba(18, 52, 86, 0.47059);color: var(--mainColor);font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Droid Sans, Helvetica Neue;word-wrap: break-word;
} 

3、定義css規范我們可以使用styleLint用于規范css原則,使用方法如下:
以viteVue為例

安裝相關依賴
npm install postcss stylelint stylelint-config-standard --save-dev
//簡潔版
// 引入 postcss 相關配置
import postcss from 'postcss';
import stylelint from 'stylelint';
import stylelintPlugin from 'stylelint-webpack-plugin';
export default defineConfig({// 其他配置...css: {postcss: {plugins: [stylelintPlugin],},},
});
然后定一個 .stylelintrc.json配置文件和vite.config.json同級
// 
module.exports = {extends: ['stylelint-config-standard', // 配置stylelint拓展插件'stylelint-config-html/vue', // 配置 vue 中 template 樣式格式化'stylelint-config-standard-scss', // 配置stylelint scss插件'stylelint-config-recommended-vue/scss', // 配置 vue 中 scss 樣式格式化'stylelint-config-recess-order', // 配置stylelint css屬性書寫順序插件,'stylelint-config-prettier', // 配置stylelint和prettier兼容],overrides: [{files: ['**/*.(scss|css|vue|html)'],customSyntax: 'postcss-scss',},{files: ['**/*.(html|vue)'],customSyntax: 'postcss-html',},],ignoreFiles: ['**/*.js','**/*.jsx','**/*.tsx','**/*.ts','**/*.json','**/*.md','**/*.yaml',],/*** null  => 關閉該規則* always => 必須*/rules: {'value-keyword-case': null, // 在 css 中使用 v-bind,不報錯'no-descending-specificity': null, // 禁止在具有較高優先級的選擇器后出現被其覆蓋的較低優先級的選擇器'function-url-quotes': 'always', // 要求或禁止 URL 的引號 "always(必須加上引號)"|"never(沒有引號)"'no-empty-source': null, // 關閉禁止空源碼'selector-class-pattern': null, // 關閉強制選擇器類名的格式'property-no-unknown': null, // 禁止未知的屬性(true 為不允許)'block-opening-brace-space-before': 'always', //大括號之前必須有一個空格或不能有空白符'value-no-vendor-prefix': null, // 關閉 屬性值前綴 --webkit-box'property-no-vendor-prefix': null, // 關閉 屬性前綴 -webkit-mask'selector-pseudo-class-no-unknown': [// 不允許未知的選擇器true,{ignorePseudoClasses: ['global', 'v-deep', 'deep'], // 忽略屬性,修改element默認樣式的時候能使用到},],},
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23040.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23040.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23040.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習_決策樹與隨機森林

決策樹是一種常用的監督學習算法&#xff0c;既可以用于分類任務也可以用于回歸任務。決策樹通過遞歸地將數據集劃分成更小的子集&#xff0c;逐步建立樹結構。每個節點對應一個特征&#xff0c;樹的葉子節點表示最終的預測結果。構建決策樹的關鍵是選擇最佳的特征來分割數據&a…

圖文型LED顯示屏的結構與安裝

隨著科技的不斷進步&#xff0c;LED顯示屏已成為商業廣告、公共信息顯示等領域不可或缺的一部分。圖文型LED顯示屏以其獨特的優勢和多樣化的應用場景&#xff0c;受到了市場的廣泛歡迎。本文將詳細介紹圖文型LED顯示屏的結構特點、工作原理以及安裝指南。 1、圖文型LED顯示屏的…

Python項目開發實戰:看圖猜成語小程序(案例教程)

一、項目背景與概述 在現代社會,隨著智能手機的普及和移動互聯網的快速發展,移動應用(App)已經成為人們日常生活中不可或缺的一部分。看圖猜成語作為一種集知識性和娛樂性于一體的游戲,深受大眾喜愛。本項目旨在開發一個基于Python的看圖猜成語小程序,讓用戶能夠通過簡單…

跨境電商|Facebook Marketplace怎么做?

2016 年&#xff0c;Facebook打造了同名平臺 Facebook Marketplace。通過利用 Facebook 現有的龐大客戶群&#xff0c;該平臺取得了立竿見影的成功&#xff0c;每月訪問量將超過 10 億。對于個人賣家和小企業來說&#xff0c;Facebook Marketplace是一個不錯的銷貨渠道&#xf…

Java內部類、枚舉類、注解類

Java 是一種面向對象的編程語言&#xff0c;它支持多種類型的類&#xff0c;包括內部類、枚舉類和注解類 一、內部類&#xff08;Inner Class&#xff09;&#xff1a; 內部類是定義在另一個類內部的類。它可以訪問外部類的成員&#xff08;包括私有成員&#xff09;&#xff…

AIGC在移動APP開發中的應用及未來前景

隨著科技的不斷進步&#xff0c;人工智能生成內容&#xff08;AIGC&#xff0c;Artificial Intelligence Generated Content&#xff09;在移動應用開發中的應用越來越廣泛。AIGC不僅能提高開發效率&#xff0c;還能帶來更好的用戶體驗。本文將探討AIGC在移動APP開發中的應用及…

通過ssr-echarts,服務端生成echarts圖

ssr-echarts &#xff1a;一個開源項目&#xff0c;它能夠服務端渲染 ECharts 圖表&#xff0c;并直接生成 PNG 圖片返回。該項目提供了多種主題&#xff0c;并且支持 GET 和 POST 請求。如果參數較多&#xff0c;建議使用 POST 方法。用戶可以自己部署這個服務。 1. 服務端安裝…

Three.js-實現加載圖片并旋轉

1.實現效果 2. 實現步驟 2.1創建場景 const scene new THREE.Scene(); 2.2添加相機 說明&#xff1a; fov&#xff08;視場角&#xff09;&#xff1a;視場角決定了相機的視野范圍&#xff0c;即相機可以看到的角度范圍。較大的視場角表示更廣闊的視野&#xff0c;但可能…

第 10 章 nodelet(自學二刷筆記)

重要參考&#xff1a; 課程鏈接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 講義鏈接:Introduction Autolabor-ROS機器人入門課程《ROS理論與實踐》零基礎教程 10.4 nodelet ROS通信是基于Node(節點)的&#xff0c;Node使用方便、易于擴展&#xff0c;可以滿足ROS中大多…

SBOM是如何幫助醫療器械制造商提高產品透明度的?

SBOM&#xff08;軟件物料清單&#xff09;通過以下方式幫助醫療器械制造商提高產品透明度&#xff1a; 1. 詳細記錄軟件組成 SBOM詳細列出了醫療器械所使用的所有軟件組件、版本、作者、許可證信息等。這使得制造商能夠清晰地了解產品的軟件組成&#xff0c;包括每個組件的來…

基于springboot實現民族婚紗預定系統項目【項目源碼+論文說明】

基于springboot實現民族婚紗預定系統的設計演示 摘要 現代經濟快節奏發展以及不斷完善升級的信息化技術&#xff0c;讓傳統數據信息的管理升級為軟件存儲&#xff0c;歸納&#xff0c;集中處理數據信息的管理方式。本民族婚紗預定系統就是在這樣的大環境下誕生&#xff0c;其可…

【Emgu CV教程】10.15、FillPoly()不規則形狀填充顏色

文章目錄 一、概念二、填充不規則圖形1.原始素材2.代碼3.運行結果 二、最大輪廓填充顏色1.原始素材2.代碼3.運行結果 一、概念 圖像的連通域是指圖像中具有相同像素值并且位置相鄰的像素組成的區域&#xff0c;連通域分析是指在圖像中尋找出彼此互相獨立的連通域并將其標記出來…

【最新鴻蒙應用開發】——Want信息載體

信息傳遞載體Want 1、概述 上一章節我們學習了UIAbility組件 【最新鴻蒙應用開發】——一篇搞懂什么是UIAbility-CSDN博客 &#xff0c;其中組件間的交互傳遞信息的媒介就是Want&#xff0c;本章節我們來更加深入學習Want的相關知識。 Want是一種對象&#xff0c;用于在應用組…

2. JavaScript 語法和數據類型

1. 基礎 JavaScript不區分大小寫 2. 注釋 // 單行注釋/* 這是一個更長的&#xff0c;多行注釋 *//* 然而&#xff0c;你不能&#xff0c;/* 嵌套注釋 */ 語法錯誤 */3. 聲明 var 聲明一個變量&#xff0c;可選初始化一個值。 let 聲明一個塊作用域的局部變量&#xff0c;可…

ORM(對象關系映射)概念詳解

一、技術難點 ORM&#xff0c;即對象關系映射&#xff08;Object-Relational Mapping&#xff09;&#xff0c;它的技術難點主要體現在如何將面向對象編程中的類和對象高效地映射到關系型數據庫中的表和記錄。具體來說&#xff0c;有以下幾個方面的技術挑戰&#xff1a; 數據類…

計算機畢業設計項目、管理系統、可視化大屏、大數據分析、協同過濾、推薦系統、SSM、SpringBoot、Spring、Mybatis、小程序項目編號1-500

大家好&#xff0c;我是DeBug&#xff0c;很高興你能來閱讀&#xff01;作為一名熱愛編程的程序員&#xff0c;我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里&#xff0c;我將會結合實際項目經驗&#xff0c;分享編程技巧、最佳實踐以及解決問題的方法。無論你是…

桌面型激光雕刻機的發展前景及TMC應用優勢

一、行業現狀 近兩年來&#xff0c;激光雕刻行業正處于快速發展階段。隨著人們生活水平的提高&#xff0c;對個性化、定制化產品的需求日益增加&#xff0c;激光雕刻以其獨特的創意和精美的效果&#xff0c;滿足了消費者對個性化產品的追求。同時&#xff0c;隨著科技的不斷進…

OCP 安裝 OceanBase集群(企業版3.2.4.1)

創建集群 登錄OCP界面 1.點擊左側工具欄中的集群 2.進入集群頁面后 點擊 右上角的創建集群 集群設置 進入 創建集群 頁面&#xff0c;進行 目標集群 配置 集群種類 根據 生產環境 選擇 分布式 或者 單機集中式&#xff0c;第一次安裝 集群類型 選擇 主集群。 注意&#xf…

計算機網絡到底是指什么?

計算機網絡是信息技術領域中最為核心和復雜的一部分&#xff0c;它涵蓋了眾多的技術原理和應用。下面&#xff0c;我們將從技術層面深入探討計算機網絡的相關內容。 一、計算機網絡的分層模型 計算機網絡的分層模型是網絡通信的基石&#xff0c;它將網絡通信過程劃分為不同的層…

怎么解決企業生產計劃排程的幾大難點?

生產計劃排程&#xff0c;作為企業管理中的核心環節&#xff0c;其復雜性和動態性一直困擾著眾多企業。然而&#xff0c;通過科學的策略和技術手段&#xff0c;這些難點并非不可攻克。 生產環境的動態變化&#xff0c;如臨時訂單改變、緊急插單的需求、產品流程變化等&#xff…