• 移动端项目使用vue-cli项目的两种适配方案


     一、flexsible:转载 https://www.cnblogs.com/nanjie/p/8532326.html

    1.下载lib-flexible

    npm i lib-flexible --save

    2.引入lib-flexible

    在main.js中引入lib-flexible

    import 'lib-flexible/flexible'

    3.安装px2rem-loader

    1
    npm install px2rem-loader

    4.配置px2rem-loader

    在build文件中找到util.js,将px2rem-loader添加到cssLoaders中,如:

    复制代码
      const cssLoader = {
        loader: 'css-loader',
        options: {
          minimize: process.env.NODE_ENV === 'production',
          sourceMap: options.sourceMap
        }
      }

        const postcssLoader = {
            loader: 'postcss-loader',
            options: {
               sourceMap: options.sourceMap
            }
        }

      const px2remLoader = {
        loader: 'px2rem-loader',
        options: {
          remUnit: 75
        }
      }

    复制代码

    同时,在generateLoaders方法中添加px2remLoader

    复制代码
    function generateLoaders (loader, loaderOptions) {
        const loaders = options.usePostCSS ? [cssLoader, postcssLoader, px2remLoader] : [cssLoader, px2remLoader]
        if (loader) {
            loaders.push({
              loader: loader + '-loader',
              options: Object.assign({}, loaderOptions, {
                sourceMap: options.sourceMap
              })
            })
          }
    
        if (options.extract) {
            return ExtractTextPlugin.extract({
              use: loaders,
              fallback: 'vue-style-loader'
            })
          } else {
            return ['vue-style-loader'].concat(loaders)
          }
      }
    复制代码

    6.重启

    当配置完之后,一定要重启下服务,这样去调试台看的时候就会发现px自动转化为rem了

    1
    npm run dev

    7.px2rem 用法

    安装px2rem后,再使用px上有些不同,大家可以参考px2rem官方介绍,下面简单介绍一下。

    直接写px,编译后会直接转化成rem ---- 除开下面两种情况,其他长度用这个
    在px后面添加/*no*/,不会转化px,会原样输出。 --- 一般border需用这个
    在px后面添加/*px*/,会根据dpr的不同,生成三套代码。---- 一般字体需用这个

    示例代码
    编译前(自己写的代码)

    .selector {
         150px;
        height: 64px; /*px*/
        font-size: 28px; /*px*/
        border: 1px solid #ddd; /*no*/
    }

    编译后(打包后的代码)

    .selector {
         2rem;
        border: 1px solid #ddd;
    }
    [data-dpr="1"] .selector {
        height: 32px;
        font-size: 14px;
    }
    [data-dpr="2"] .selector {
        height: 64px;
        font-size: 28px;
    }
    [data-dpr="3"] .selector {
        height: 96px;
        font-size: 42px;
    }

     

    二  使用vw布局   

    1:npm install postcss-px-to-viewport --save-dev

    2、在.postcssrc.js中增加

    module.exports = {
      "plugins": {
        "postcss-import": {},
        "postcss-url": {},
        // to edit target browsers: use "browserslist" field in package.json
        "autoprefixer": {},
        "postcss-px-to-viewport": {
          viewportWidth: 750, // (Number) The width of the viewport.
          // viewportHeight: 1334, // (Number) The height of the viewport.
          unitPrecision: 3, // (Number) The decimal numbers to allow the REM units to grow to.
          viewportUnit: 'vw', // (String) Expected units.
          selectorBlackList: ['.ignore', '.hairlines','.mobileSelect'], // (Array) The selectors to ignore and leave as px.
          minPixelValue: 1, // (Number) Set the minimum pixel value to replace.
          mediaQuery: false // (Boolean) Allow px to be converted in media queries.
        }
      }
    }

    vue项目上安装SCSS和开发入门

    ① 使用vue-cli模板创建新项目:vue init webpack myvue

    ② 安装sass 依赖包 ,在cmd界面输入:

    npm  install sass-loader --save-dev
    npm install node-sass --sava-dev

    ③ 在build文件夹下的webpack.base.conf.js的rules里面添加配置


    {
    test: /.scss$/,
    loaders: ['style', 'css', 'sass']
    }
    ④ 使用scss时候在所在的style样式标签上添加lang=”scss”即可应用对应的语法,否则报错

    原文:https://blog.csdn.net/zhouzuoluo/article/details/81010331

  • 相关阅读:
    森林病虫防治系统 (七)
    森林病虫防治系统 (六)
    森林病虫防治系统 (五)
    森林病虫防治系统 (四)
    森林病虫防治系统 (三)
    森林病虫防治系统 (二.2)
    森林病虫防治系统 (二.1)
    森林病虫防治系统(二)
    森林病虫防治系统 (一)
    java web 机试
  • 原文地址:https://www.cnblogs.com/nanacln/p/11089390.html
Copyright © 2020-2023  润新知