zoukankan      html  css  js  c++  java
  • vue移动端框架搭建

    vue移动端框架搭建
     
     
         一、安装各种包(-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()
              }
          })
  • 相关阅读:
    ajax请求默认都是异步请求,怎么变为同步请求
    TP6跨域问题
    localStorage使用总结
    win10 windows management instrumentation cpu占用高解决方法
    限制性股票-股份支付
    可转债会计分类
    其他权益工具投资的交易费用计入成本
    年数总和法
    外币货币性项目汇兑差额应当计入当期损益
    chrome怎么设置点击窗口在新窗口打开
  • 原文地址:https://www.cnblogs.com/JAY7758/p/13377328.html
Copyright © 2011-2022 走看看