Browse Source

feat: 加入css样式自适应

haopeng 2 years ago
parent
commit
d04f73cc85
3 changed files with 125 additions and 21273 deletions
  1. 89 21273
      package-lock.json
  2. 2 0
      package.json
  3. 34 0
      vue.config.js

File diff suppressed because it is too large
+ 89 - 21273
package-lock.json


+ 2 - 0
package.json

@@ -39,6 +39,8 @@
39 39
     "husky": "^4.3.0",
40 40
     "less": "^3.0.4",
41 41
     "less-loader": "^4.1.0",
42
+    "postcss-px-to-viewport": "^1.1.1",
43
+    "postcss-pxtorem": "^5.1.1",
42 44
     "vue-template-compiler": "^2.5.21"
43 45
   },
44 46
   "eslintConfig": {

+ 34 - 0
vue.config.js

@@ -38,5 +38,39 @@ module.exports = {
38 38
     //         chunkFilename: `css/[name].[hash:6].css`
39 39
     //     })
40 40
     // ]
41
+  },
42
+  css: {
43
+    // loaderOptions: {
44
+    //   postcss: {
45
+    //     plugins: [
46
+    //       require('postcss-pxtorem')({
47
+    //           // TODO:这个值该怎么算
48
+    //         rootValue: 32, //结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem
49
+    //         selectorBlackList: ['van'], // 忽略转换正则匹配项
50
+    //         propList: ['*'],  //要转换的匹配项
51
+    //       })
52
+    //     ]
53
+    //   }
54
+    // }
55
+    loaderOptions: {
56
+      postcss: {
57
+          plugins: [
58
+              require("postcss-px-to-viewport")({
59
+                unitToConvert: "px", // 把什么单位转换成vw
60
+                viewportWidth: 1000, // 视口宽度,设计稿宽度
61
+                viewportHeight: 600, // 视口高度,设计稿高度
62
+                unitPrecision: 5, // 转换成vw单位的小数点后的保留位数
63
+                propList: ["*"], // 属性列表,表示你要把哪些css属性的px转换成vw
64
+                viewportUnit: "vw", // 使用的单位,目前可选单位有vw,vh。
65
+                fontViewportUnit: "vw", // 字体使用的单位
66
+                selectorBlackList: ['van', 'el-'], // 匹配不被转换为vw的选择器
67
+                minPixelValue: 1,
68
+                mediaQuery: false,
69
+                replace: true, // 是否直接更换属性值,而不添加备用属性
70
+                exclude: /(\/|\\)(node_modules)(\/|\\)/,
71
+              })
72
+          ]
73
+      }
74
+    }
41 75
   }
42 76
 }