vue 移动端环境配置
1,进入项目src
2.,App.vue
取出template中<img src="./assets/logo.png">
3,进入 App.vue
删除默认图片:
<div ><!-- <img src="./assets/logo.png"> -->
<router-view/>
</div>
删除默认样式,修改通用样式:
<style>/* #app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
} */
*{
padding: 0;
margin: 0;
list-style: none;
}
</style>
4,创建主要页面,都使用以下方式:
每个组件都创建独立文件夹/index.vue (默认index.vue是可以省略的,这样很方便调用)
此外 文件:HelloWorld.vue 是不能删除的,否则报错。
每个组件有且只有一个跟节点:
<template><div class="detail-page">
detail详情
</div>
</template>
5,进入 router/index.js 进行路由配置
在页面顶部引入主要页面文件,并进行路由配置:
import Vue from 'vue'import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/header/'
import Detail from '@/components/detail/'
Vue.use(Router)
export default new Router({
routes: [
/* {
path: '/',
name: 'HelloWorld',
component: HelloWorld
},*/
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/Detail',
name: 'Detail',
component: Detail
},
]
})
7,cnpm run dev 运行项目看是否出现问题。
8,在项目下面的index.html页面进行移动端的配置:
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no">
width=device-width 宽高等于设备宽度
initial-scale=1 设备初始缩放比例为1
maximum-scale=1 最大缩放比例为1
minimum-scale=1 最小缩放比例为1
user-scalable=no 不允许用户缩放
9,在main.js 中 import './config/rem' 意为整个项目采用rem响应式布局
在src目录下创建 config文件夹 及在其下面创建 rem.js文件,内容为:
(function(){function a(){var b=document.documentElement.clientWidth;b=b>750?750:b;var c=b/750*100;document.getElementsByTagName("html")[0].style.fontSize=c+"px"}a();window.onresize=a})();
以上内容可以百度,类型很多,都是大同小异。
9,安装 px2rem-loader 插件:自定将px单位 转化为rem单位。
如想保持 px单位: width:20px; /*no*/ 如此即可不进行转换
安装:cnpm install px2rem-loader
10,在项目下面的 build/config/utils.js中找到函数:generateLoaders 进行 配置 px2rem-loader
配置完成需要重启项目:cnpm run dev
//loader: 'px2rem-loader', 这里千万别写成:'px2remLoader' 否则直接报错:can`t get等等错误。
var px2remLoader = {loader: 'px2rem-loader',
options:{
remUnit: 50
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader,px2remLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
...
}
11,在header组件中index.vue进行样式编写
height:400px; /*no*/ 后面有注释/*no*/的单位默认不会被转化为rem。进入开发者工具进行查看
width:200px; 安装完px2rem-loader插件重启后,所有的px单位都会被转化为 rem单位。进入开发者工具进行查看
<style scoped> /* scoped表示当前样式只用于当前的组件,不影响其他页面 */
页面其他内容就是根据设计图继续设计完成即可。
<template><div class="c-header">
<ul class="header-ul">
<li>推荐</li>
<li>课程</li>
<li>实战</li>
<li>职业路径</li>
<li class="header-search">
<img src="src../../assets/search.png" >
</li>
<li class="header-search">
<img src="src../../assets/history.png" >
</li>
</ul>
</div>
</template>
<style scoped> /* scoped表示当前样式只用于当前的组件,不影响其他页面 */
.c-header{
width: 300px;
background: #f0f;
height:400px; /*no*/
}
</style>
以上是 vue 移动端环境配置 的全部内容, 来源链接: utcz.com/z/377802.html