vue移动端框架搭建
vue移动端框架搭建
vue官网: https://cn.vuejs.org/v2/api/#v-slot
一、安装各种包(-S表示项目需要,-D表示开发需要)
1.安装node.js , 安装git 使用git bash命令工具
2.安装cnpm cnpm的速度比npm快
npm install -g cnpm --registry=https://registry.npm.taobao.org
3.安装脚手架:
cnpm install @vue/cli -g
4.创建项目:
vue create vue-study(项目名字)
cd vue-study 进入项目,在启动服务器
5.启动项目:进入项目目录,执行 npm run serve,启动一个本地开发服务器
(建议在package.json文件夹中的"scripts"配置"start":"npm run serve")
这样就能在不同的框架中使用同一个名称启动不同的项目。
关闭服务 ctrl+c
6.安装各种插件:
Element (组件)
cnpm i element-ui -S
官网: https://element.eleme.cn/#/zh-CN/component/quickstart
vant (组件)
有赞出品
Vant,是一个专注于移动的Vue UI组件库
官网: https://youzan.github.io/vant/#/zh-CN
cnpm install vant -S
cnpm install babel-plugin-import -D
配置babel.config.js 需要重启服务
plugins: [
[\'import\', {
libraryName: \'vant\',
libraryDirectory: \'es\',
style: true
}, \'vant\']
]
Vue
在html中直接引入
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue. js"></script>
脚手架中已有,import Vue from \'vue\' 引入即可
Vuex (状态管理)
cnpm install vuex -S
Sass (css组件,可以使css嵌套书写)
cnpm install sass-loader -D
cnpm install sass -D
axios (代理跨域)
npm install axios -S
创建vue.config.js
配置:// 每次修改都要重启服务器
module.exports = {
devServer:{
// 本地服务端口号(自定义端口号)
port:"8090",
// 当访问的路径有/jd就代理制 http://10.36.135.29:9999服务器
proxy:{
\'/jd\':{
target:"http://10.36.135.29:9999",//代理请求数据
ws:true,
changeOrigin:true
}
}
}
}
7.下载别人的代码时不要下载node_modules包,在项目中执行npm install 就可以下载相关的依赖包
二、创建路由
1.单页面应用程序 VS 多页面应用程序
单页面应用程序,实际是通过路由对组件进行管理的,url发生变化,组件切换,就形成了视觉上的切换
实际上就只有一个页面
2.安装集成路由(-S表示项目需要,-D表示开发需要)
cnpm install vue-router -S
3.在src目录下创建 router.js文件
编写以下代码:
// 引入vue
import Vue from \'vue\'
// 引入路由vue-router
import VueRouter from \'vue-router\'
// 创建路由
Vue.use(VueRouter)
// 引入组件
import Home from \'./views/Home.vue\'
const router = new VueRouter({
routes:[
// 当在url中出入/home时,显示Home.vue页面
{path:\'/home\',component:Home}
]
})
// 抛出去
export default router
4.在main.js中进行挂载
// 引入router,js文件
import router from \'./router,js\'
new Vue({
// 挂载
router,
render:h=>h(App)
}).$mount(\'#app\')
5.在App.vue中,通过router-link完成跳转链接
如:to:url跳转的名称 exact:名称高度匹配才跳转 tag:解析在html中是span标签 active-class:高亮显示
<router-link to=\'/home\' exact tag="span" active-class="on"></router-link>
6.通过<router-view>来展示url所匹配成功的组件
三、 项目中各个文件夹的作用
node_modules 用于存放各种安装的包,导入项目时不需要导入,在项目中 npm install就可以下载。
public 用于存放较大的图片
src/assets 用于存放小小的icon,小背景图(建议少用background)
src/components 用于存放页面中的内容人信息,如新闻
src/store 用于存放状态管理工具(自己创建,根据自己的需求)
src/utils 用于存放共享的数据,组件(自己创建)
src/views 用于存放vue文件(自己创建)
四、小知识点
1.编程路由跳转 this.$router.push()指定性跳转 / replace()指定性跳转 / back()跳转到上一页
2.路由传参
在router.js里配置路由
{ path:\'/detail/:id\',component:Detail }
在编程式路由跳转
this.$router.push(\'/detail/\'+id(要传的值))
在接受页面动态接收参数
this.$router.params.id(接受的值)
3.两种客户端的路由模式
mode=\'hash\'(默认)
缺点:URL中有#不好看
优点:部署到服务器上时,单页面刷新不会出现404
mode=\'history\'
优点:URL中没有#
缺点:部署到服务器上时,单页面刷新会出现404,解决方法是要求后端或运维在服务器(Nginx)上做重定向处理
4.路由懒加载
const Home = ()=>import(\'@/views/Home.vue\')
作用:应用程序组件异步加载,节省应用程序初始化的性能
结合Vue的异步组件和webpack的代码分割功能,实现组件的懒加载
五、状态管理
分别有四个函数
state:{} 共享数据的共享
getters:{} 相当是计算属性
mutations:{} 用来操作state
action:{}
1.action是vuex官方建议,与后端接口对接的入口
2.工作中,一般让那些被多个组件共享的后端数据,走action
3.在action中,可以直接修改state,但不推荐这样做,因为这样写Devtools不能监视(Devtools是用于查看vue的数据,状态信息)
// action是Vuex官方建议的,与后端接口对接的入口
// 工作中,一般让那些需要被多个组件共享的后端数据,走actions
// 在actions中,可能直接修改state,但是不推荐这么做
在src目录下建store文件夹,在里面创建index.js文件,在创建modules文件夹
index.js文件
test.js
详细看: https://github.com/jay267758 中的 wapapp
六、全局路由守卫(在router.js中配置)
router.beforeEach((to,from,next)=>{
console.log(to) // 当前要进入的目标路由
console.log(from) // 当前要离开的目标路由
console.log(next) // next实现跳转功能
// 判断token(是否登录),实现页面是否显示
if(to.path === \'/cart\' || to.path === \'/user\'){ //要跳转到这两个页面
let token = localStorage.getItem("token")
if(token){ // 是否有token,有就跳转,没有跳到/login
next()
}else{
next("/login")
}
}else{
next()
}
})
以上是 vue移动端框架搭建 的全部内容, 来源链接: utcz.com/z/379412.html