nuxt项目中使用postcss-px2rem踩坑记

【vue---pc端自适应】使用lib-flexible和postcss-pxtorem实现pc端适应不同分辨率 vue cli5 使用lib-flexible和postcss-pxtorem适应不同分辨率 阅读详情

最近准备使用nuxt开发一个移动端的项目,在做技术调研时发现一款可以自动适配px和rem的神器,名为postcss-px2rem。于是,怀着激动的心情我开始了px2rem 的采坑记。

第一步下载:

npm install postcss-px2rem –save

第二步引入项目:(经过测试这步可以 省去)

const px2rem = require(‘postcss-px2rem’)

第三步配置webpack

  build: {
    /*
    ** Run ESLint on save
    */
    extend (config, { isDev, isClient }) {
      if (isDev && isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
      }
    },
    postcss: [
      require('postcss-px2rem')({
        remUnit: 75
      })
    ],
  }

下面是一份nuxt的配置文件,希望对大家有帮助

// nuxt.config.js 文件配置
const path = require('path')

module.exports = {
  // Headers of the page
  head: {
    title: '默认共用title',
    meta: [
      { charset: 'utf-8' },
      { 'http-equiv': 'pragma', content: 'no-cache' },
      { 'http-equiv': 'cache-control', content: 'no-cache' },
      { 'http-equiv': 'expires', content: '0' },
      { content: 'telephone=no', name: 'format-detection' }
    ],
    // html head 中创建 script 标签
    script: [
      { innerHTML: require('./assets/js/flexible_nuxt'), type: 'text/javascript', charset: 'utf-8'}
    ],
    // 不对<script>标签中内容做转义处理
    __dangerouslyDisableSanitizers: ['script']
  },
  // Global CSS
  css: ['~/assets/css/reset.css', '~/assets/css/main.less'],
  // Global env
  env: {
    __ENV: process.env.__ENV
  },
  build: {
    vendor: ['axios'],
    postcss: [
      require('postcss-px2rem')({
        remUnit: 75
      })
    ],
    extend (config, ctx) {
      if (ctx.isClient) {
        // 拓展 webpack 配置
        config.entry['polyfill'] = ['babel-polyfill']
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
        // 添加 alias 配置
        Object.assign(config.resolve.alias, {
          'utils': path.resolve(__dirname, 'utils')
        })
      }
    }
  },
  plugins: [{src: '~plugins/toast', ssr: false}, {src: '~plugins/dialog', ssr: false}]
}
Nuxt 配置踩坑记录,各种无伤大雅又让人分外恶心的warning 这里只记录踩坑 和 目前一些nuxt.config.js的配置,详细的nuxt脚手架构建过程不多做叙述: 1.Classic mode for store/ is deprecated and will be removed in Nuxt 3. 之前store的创建方式,大概都是这样子的,返回的是一个函数, Nuxt3将废弃这种写法,大概是因为 store被nuxt内之后做了封装 不报waring的书写方式: 2: Nuxt 配置 flexable、 rem、 stylus、全局样式、.. 阅读详情

相关推荐

nuxt.js 踩坑之旅

第一个:屏幕适配问题 对应的设计稿是以 1920px 为主的 下载flexible.js (function flexible (window, document) { var docEl = document.documentElement var dpr = window.devicePixelRatio || 1 // adjust body font size function setBodyFontSize () { if (document.b

人生代码 ---- 公众号 563

nuxt.js服务端渲染使用postcss-px2rem

在用vue做服务端渲染的时候需要对移动端做适配所以要用到postcss-2rem插件, 首先下载flexible.js可加载阿里的cdn文件 http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js将下载好的文件放到static也就是静态资源文件中下载postcss-px2remnpm install --save...

kingov 8785

实战复盘:如何用ATE(自动测试设备)搞定一颗MCU的功能测试全流程

本文详细解析了如何利用ATE(自动测试设备)完成MCU功能测试的全流程,涵盖测试需求分析、测试向量生成、ATE测试程序开发及调试实战。通过真实案例分享,帮助工程师高效解决芯片测试中的常见问题,提升Functional Test的准确性和效率。

weixin_30872157的博客 485

nuxt中使用lib-flexible和postcss-px2rem

环境 "nuxt": "^2.15.7", "postcss-px2rem": "^0.3.0", 准备工作 一、安装 npm install lib-flexible -s npm install postcss-px2rem -s -d 一、引入和配置插件 在plugins文件夹中创建lib-flexble.js 文件 import 'lib-flexible' nuxt.config.js export default { plugins: [ { src: '~/plu

qq_41200374的博客 2295

机器学习: 共轭梯度算法(PCG)

今天介绍数值计算和优化方法中非常有效的一种数值解法,共轭梯度法。我们知道,在解大型线性方程组的时候,很少会有一步到位的精确解析解,一般都需要通过迭代来进行逼近,而 PCG 就是这样一种迭代逼近算法。 我们先从一种特殊的线性方程组的定义开始,比如我们需要解如下的线性方程组: Ax=bAx=b 这里的 A(n×n)A(n×n) 是对称,正定矩阵, b(n×...

weixin_30807677的博客 3181

金蝶云星空初级实施认证考题

Q4.[单选题] (1.5分) 总账中的多账簿账表主要是基于什么进行查看的Q47.[多选题] (2.5分) 销售订单的收款计划页签勾选预收之后,预收控制环节可以控制哪些节点?

m0_51994557的博客 3122

使用px2rem不生效,现代适配该用什么?

webpack配置 正确的配置,兼容现在的vuecli 下载的包 使用问题 1、不兼容 scss 解决办法 2、大写、style里面不会被解析 3、prettier 保持大写 lib-flexible 1、兼容pad 2、配合媒体查询 --》 避免 pc 端字太大 现代适配该用什么?

全网同名:PBitW,更多内容,可以搜索《普通前端进阶记》 4178

电气比例阀采用外置传感器和PID控制器实现化学机械抛光(CMP)的超高精度压力控制

摘要:为大幅度提高现有CMP工艺设备中压力控制的稳定性,在现有电气比例阀这种单回路PID压力调节技术的基础上,本文提出了升级改造方案,即采用串级控制法(双回路PID控制,也称级联控制),通过在现有电气比例阀回路中增加更高精度的压力传感器和PID控制器,可以将研磨抛光压力的稳定性提高一个数量级,从1~2%的稳定性提升到0.1~0.2%。

Shanghai_Eyoung的博客 1292

nuxt.js实战之开发环境配置

一、创建项目 1、使用如下命令生成项目 vue init nuxt-community/starter-template testPro --testPro为项目名称 2、进入到项目根目录下,使用npm install 安装依赖 3、npm run dev 在开发环境下运行项目 二、修改项目的host 和 port 在package.json文件中新增如下代码: "...

weixin_30367873的博客 609

在 SAP S/4HANA Public Cloud 中,用 RAP 一键生成 PDF 并在 Fiori 前端触发下载的完整方案

create;update;delete;// 生成并返回当前文档上下文。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 413

第10集:AIOps 平台架构设计!画出面试官最想看的系统全景图

本文介绍了如何将AIOps平台的六大功能模块整合为四层架构设计,并生成专业系统全景图。文章首先指出面试中架构设计能力的重要性,强调一张清晰的架构图能直观展现全局观。随后指导读者检查项目结构,准备绘图环境。核心部分详细拆解了四层架构:数据采集层(Prometheus、ELK等)、AI分析层(巡检、告警、预测等)、决策执行层(工作流引擎、自愈Agent)和展示交互层(API、控制台)。通过Python代码自动生成模块依赖关系图,并提供了面试讲解技巧。全文旨在帮助开发者在面试中系统性地展示项目架构设计能力。

qq_2937655951的博客 93

Nuxt.js使用postcss-px2rem和flexible

1,下载flexible.js 下载地址:http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js 下载后放到/static目录下 2,安装postcss-px2rem npm install --save postcss-px2rem 3,配置 打开nuxt.config.js 3.1,在head...

骑着代码去流浪 2532

Yocto开发讲解系列 - 总目录

Yocto开发讲解系列总纲Yocto开发专栏前言

fulinux的博客 3万+

Nuxt项目如何配置使用 Sass/postcss-px2rem/webpack-spritesmith

接上篇《Vue-Cli 3.0 如何配置使用 Sass/postcss-px2rem/webpack-spritesmith》 如果Vue项目考虑实现SSR服务端渲染的话,Nuxt是很好的选择,Nuxt帮我们做了很多工作,让我们实现SSR就像配置一样简单。 还是同样的问题,如果需要在Nuxt项目开发过程中整合重构流程该怎么做? 如何使用Sass 跟 Sass 有关的就两个东西,sass-loade...

前端向朔 3478

让 PyCharm 代码“发光”:高亮插件与特效全攻略

PyCharm 作为一款强大的 Python IDE,支持多种插件让代码“发光”——无论是动态输入特效、彩虹括号,还是霓虹主题,都能让你的代码脱颖而出!进入 File → Settings → Editor → Color Scheme → Rainbow Brackets。进入 File → Settings → Appearance & Behavior → Material Theme。进入 File → Settings → Editor → Color Scheme → General。

qq_43580271的博客 3837

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

nuxt + vant + postcss-px2rem rem适配

原文链接:https://www.cnblogs.com/chunshan-blog/p/9950474.html 一、创建项目 1、使用如下命令生成项目 vue init nuxt-community/starter-template testPro --testPro为项目名称 2、进入到项目根目录下,使用npm install 安装依赖 3、npm run dev 在开发...

Young_Gao的博客 5025

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

nuxt.js服务端渲染使用flexible.js和postcss-px2rem实现移动端自适应—淘宝弹性布局方案(750px设计稿)

在用vue做服务端渲染的时候需要对移动端做适配所以要用到postcss-2rem插件, 第一步: 首先下载flexible.js 可加载阿里的cdn文件 http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js 其中代码为:(你可以直接复制过去) ;(function(win, lib) { va...

人间草木 6750

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

VUE_自适应布局lib-flexible+postcss-pxtorem、lib-flexible + postcss-px2rem,nuxt页面自适配

VUE_自适应布局-postcss-pxtorem

小歪博客 1364

nuxt第三方插件(px2rem,mint-ui,swiper,video,百度统计)

安装px2rem 首先下载flexible.js 可加载阿里的cdn文件 http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js 将下载好的文件放到static也就是静态资源文件中 1.安装:npm install --save postcss-px2rem 2.在nuxt.cofig.js中 在head上...

t595981879的博客 3380

nuxt使用小结

开始 创建项目 npx create-nuxt-app <项目名> 根据提示选择安装内容即可 nuxt模式默认选择universal npm run dev 启动项目 复制代码 使用less cnpm i less less-loader -D 在项目中style lang="less"就可以使用了 复制代码 使用全局css样式 1. 在asset内或同级目录创建一个css(可自定义名...

weixin_33717117的博客 1769

Nuxt 配置踩坑记录(2)

1、px2rem 到 px2vw 今天来测试了 昨天新配的 postcss-px2rem-exclude, 发现项目运行时有个令人头大的问题,大概率是因为flexable.js在服务端渲染的原因,尽管文件时配置在 head 里面的,但是fontSize的计算速度使页面载入时会因为计算而有个放大缩小的过程,在手机上尤其明显,在经理了几个小时的挣扎后(期间也试了在一开始隐藏body,在计算出fontsize时 显示body,但是这里根本获取不到body的visibility ,也修改不了,定时器也不行),决.

菜鸟史 1247

nuxt 移动端适配

nuxt 移动端适配 (flexible + postcss-px2rem) flexible.js 根据需求自定义内容 (function flexible (window, document) { let docEl = document.documentElement let dpr = window.devicePixelRatio || 1 // adjust body font size function setBodyFontSize () { if (documen

呵呵,到处看看 2561

vue中移动端使用postcss-px2rem与ui组件冲突问题

在vue移动开发中,使用px2rem-loader,会自动将px单位换算成rem,但是存在一个问题,会将使用的第三方ui库中的px同时转成rem,影响样式。 引入import 'lib-flexible' 决绝方式: 1.将UI组件中的px全部改为PX,或者在px后加 /*no*/. 2.在框架中使用postcss-px2rem-exclude插件,添加exclude属性。 在vu...

郭郭的博客 1万+

postcss-plugin-px2rem vue-cli3使用记录

安装使用postcss-plugin-px2rem 地址 设计稿 rootValue设置 rootValue = $designWidth*20/320; $designWidth 为设计稿宽度 参考地址

qq_37124515的博客 871

关于Nuxt2适配的好办法

var tidconsole.warn('将根据已有的meta标签来设置缩放比例')if (!dpr &&!scale) {// iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案dpr = 3dpr = 2} else {dpr = 1} else {// 其他设备下,仍旧使用1倍的方案dpr = 1if (!

m0_74089229的博客 1428

Nuxt项目响应式解决方案

下面是nuxt.config.ts配置。上面是所所用到的依赖。

m0_63877939的博客 597
上一篇: centos7 安装node9
下一篇: 探秘 CSS Grid 响应式布局
图解前端
博客等级 码龄10年 40粉丝 95原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值