移动端项目在nuxt中使用rem.js

2 篇文章 0 订阅

把近期项目中的nuxt配置rem.js分享下,配置后可以在项目中使用rem的单位

第一种, 在nuxt.config.js中的head 配置项中配置, 将rem.js放在static目录下,方便配置路径

 head: {
		  script: [
		     	 { src: '/rem.js', type: 'text/javascript', charset: 'utf-8'}
		 ],
  	},

第二种 (适用于往head中引入js)

	head: {
	  	script: [{ innerHTML: require('./assets/js/flexible'), type: 'text/javascript', charset: 'utf-8'}],
	 	 __dangerouslyDisableSanitizers: ['script']
	}

以下是我用的rem.js的内容
(function (win) {
    var doc = win.document;
    var docEl = doc.documentElement;
    var tid;
    function refreshRem() {
        var width = docEl.getBoundingClientRect().width;
        if (width > 750) { // 最大宽度
            width = 750;
        }
        var rem = width / 7.5;
        docEl.style.fontSize = rem + 'px';
    }
    win.addEventListener('resize', function () {
        clearTimeout(tid);
        tid = setTimeout(refreshRem, 300);
    }, false);
    win.addEventListener('pageshow', function (e) {
        if (e.persisted) {
            clearTimeout(tid);
            tid = setTimeout(refreshRem, 300);
        }
    }, false);
    refreshRem();
})(window);

如果在项目中使用less或sass变量全局注入,不用单独引入的就配置如下

module.exports = {
===========
 modules: [
    '@nuxtjs/style-resources'
  ],
 styleResources: {
    less: '@/assets/style/less/default.less'  // less文件路径
  },
  =======
}
// 配置完就可以全局使用了less变量了
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值