本文摘自PHP中文网,作者coldplay.xixi,侵删。
vue.js实现移动端适配的方法:1、使用rem布局,在主入口【index.html】,【<head>】标签内添加相关JS代码;2、使用【lib-flexible】插件实现。

本教程操作环境:windows7系统、vue2.9版,该方法适用于所有品牌电脑。
【相关文章推荐:vue.js】
vue.js实现移动端适配的方法:
一、方法一:rem 布局
在主入口:index.html,<head> 标签内添加如下JS 代码:(实现在标准 375px宽度适配下,100px = 1rem。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script>
( function () {
var baseFontSize = 100;
var baseWidth = 375;
var set = function () {
var clientWidth = document.documentElement.clientWidth || window.innerWidth;
var rem = 100;
if (clientWidth != baseWidth) {
rem = Math. floor (clientWidth / baseWidth * baseFontSize);
}
document.querySelector( 'html' ).style.fontSize = rem + 'px' ;
}
set();
window.addEventListener( 'resize' , set);
}());
</script>
|
二、方法二:lib-flexible 插件实现
1、安装插件
1 2 | npm i lib-flexible --save
npm install px2rem-loader
|
2、在main.js中引入lib-flexible
1 | import 'lib-flexible/flexible'
|
3、在 index.html 中添加:移动适配 meta标签
1 2 3 | <meta name= "viewport" content= "width=device-width,initial-scale=1.0" >
<meta name= "viewport" content= "width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" >
|
4、更改配置
在 build/util.js 中 按如下两更改
(1)、将px2rem-loader添加到cssLoaders中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | const cssLoader = {
loader: 'css-loader' ,
options: {
minimize: process.env.NODE_ENV === 'production' ,
sourceMap: options.sourceMap
}
}
const px2remLoader = {
loader: 'px2rem-loader' ,
options: {
remUnit: 35
}
}
|
(2)、在generateLoaders方法中添加px2remLoader
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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)
}
}
|
总结要修改的地方

5、重启
npm run dev
// 重新运行
这里需要注意:
1、 lib-flexible:是 rem 的适配插件。(例:750px == 10rem)
2、px2rem-loader :是为了方便在书写CSS时,输入 px 会 自动转为 rem。
3、有时 用 ‘px2rem-loader ’ 插件,发现 rem 转换不正确。可能是开发工具设置了其他的插件转换,将其他的插件转换设置为想要的转换就行。【我就遇到过,巨坑。。。】
相关免费学习推荐:JavaScript(视频)
以上就是vue.js怎么实现移动端适配的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
vue.js如何安装vuex
vue.js如何带参数跳转
vue.js是什么软件
vue.js中v-bind是什么意思
vue框架和react框架的区别是什么
vue.js的优势是什么
10+个顶级vue.js工具和库(分享)
什么叫vue.js
vue的响应式原理是什么?
vue.js中指令的作用是什么?
更多相关阅读请进入《vue.js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » vue.js怎么实现移动端适配