当前位置:   article > 正文

elementui 搭建布局页面路由_Luffy - 前台搭建

element-ui的route怎么写

d8325cb844b98cfa7776ec5b927da148.png

Ⅰ 创建项目

创建vue项目

  • 注意:这里的项目名只能全部小写
 vue create luffycity

剩余创建步骤

  • 注意:先看这里!
    • 创建项目的时候,如果觉得自己代码写得很规范的可以开启ESLint
    • 如果是刚开始接触Vue,建议在项目创建的时候,不要开启ESLint
  • 开启了ESLint,就相当于开启了严格模式,以下情况都会报错
    • 多1个,
    • 多1个空格
    • 缩进不正确
    • 存在:已经导入 但未被使用的组件
    • etc...
  • 具体创建步骤:看这里

Ⅱ 配置

b35d9e2667f7b8b5c5974e03d1ac12df.png

文件解析

  • App.vue(初始)
  1. <template>
  2. <div id="app">
  3. <div id="nav">
  4. <!-- 路由跳转到根组件 -->
  5. <router-link to="/">Home</router-link> |
  6. <!-- 路由跳转到about组件 -->
  7. <router-link to="/about">About</router-link>
  8. </div>
  9. <router-view/>
  10. </div>
  11. </template>
  12. <style>
  13. <!-- 这里编写CSS代码 -->
  14. ...
  15. </style>
  16. <script>
  17. // 这里编写JS代码
  18. ...
  19. </script>
  • <router-link to="/">Home</router-link>这个相当于a链接
    • 不同之处:
    • 因为Vue是单页面开发router-link只会在组件之间来回切换
    • a链接会跳转到其他页面
  • src/router/index.js(初始)
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. import Home from '../views/Home.vue' // 导入Home组件
  4. Vue.use(VueRouter)
  5. const routes = [
  6. {
  7. path: '/', // 设置跟路由路径:/
  8. name: 'Home',
  9. component: Home // 跟路由组件为Home
  10. },
  11. {
  12. path: '/about',
  13. name: 'About',
  14. // route level code-splitting
  15. // this generates a separate chunk (about.[hash].js) for this route
  16. // which is lazy-loaded when the route is visited.
  17. component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  18. }
  19. ]
  20. const router = new VueRouter({
  21. mode: 'history',
  22. base: process.env.BASE_URL,
  23. routes
  24. })
  25. export default router
  • src/main.js
    • 整个项目的入口js文件
      • 这是1个很重要的配置文件
      • 配置了根组件、路由跳转
      • 可以全局导入CSS、JS
      • 导入的CSS和JS可以来自assets,也可以来自node_modules(推荐)
  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. Vue.config.productionTip = false
  6. new Vue({
  7. router,
  8. store,
  9. render: h => h(App)
  10. }).$mount('#app')

目录配置

  • 目录文件修改
    • srcassets创建cssjsimg文件夹
    • 删除srccomponents下的所有文件

安装、导入配置

  • 以下安装,如果用npm觉得速度慢的,可以用cnpm安装
  • 配置全局初始化CSS样式
    • src/assets/css下创建global.css,输入如下代码
  1. /* 声明全局样式和项目的初始化样式 */
  2. body, h1, h2, h3, h4, h5, h6, p, table, tr, td, ul, li, a, form, input, select, option, textarea {
  3. margin: 0;
  4. padding: 0;
  5. font-size: 15px;
  6. }
  7. a {
  8. text-decoration: none;
  9. color: #333;
  10. }
  11. ul {
  12. list-style: none;
  13. }
  14. table {
  15. border-collapse: collapse; /* 合并边框 */
  16. }
  • 配置:main.js
  1. // 使用 global.css
  2. import './assets/css/global.css'

Axios - 用于前后端交互

  • 安装
npm install axios
  • 配置:main.js
  1. // Axios 配置
  2. import axios from 'axios'
  3. Vue.prototype.$axios = axios;

vue-cookies

    • 安装
npm install vue-cookies
  • 配置:main.js
  1. // vue-cookie 配置
  2. import cookies from 'vue-cookies'
  3. Vue.prototype.$cookies = cookies

Element UI - 饿了么团队开发的 1个好看的基于Vue的UI

  • 安装
cnpm install element-ui
  • 配置:main.js
  1. // ElementUI 配置
  2. import ElementUI from 'element-ui';
  3. import 'element-ui/lib/theme-chalk/index.css';
  4. Vue.use(ElementUI);

JQuery

  • Vue不推荐使用JQuery,所以引用的方式和其他的不大一样
  • 安装
npm install jquery
  • 在项目根路径下创建:vue.config.js
  1. const webpack = require("webpack");
  2. module.exports = {
  3. configureWebpack: {
  4. plugins: [
  5. new webpack.ProvidePlugin({
  6. $: "jquery",
  7. jQuery: "jquery",
  8. "window.jQuery": "jquery",
  9. "window.$": "jquery",
  10. Popper: ["popper.js", "default"]
  11. })
  12. ]
  13. }
  14. };

popper.js

npm install --save popper.js

Bootstrap

  • Bootstrap需要依赖上面的JQuerypopper.js
  • 安装
 npm install bootstrap
  • 配置:main.js
  1. // Bootstrap 配置
  2. import 'bootstrap'
  3. import 'bootstrap/dist/css/bootstrap.min.css'

配置全局自定义设置

  • src/assets/js下创建settings.js,输入如下代码
  1. export default {
  2. base_url: 'http://127.0.0.1:8000'
  3. }
  • 配置:main.js
  1. // 配置全局自定义设置
  2. import settings from './assets/js/settings'
  3. Vue.prototype.$settings = settings;
  • 在所有需要与后台交互的组件中:this.$settings.base_url + '再拼接具体后台路由'
  • settings赋值给了Vue.prototype.$settings,以后 this.$settings.base_url可以直接拿到127.0.0.1:8000

整体main.js配置(无注释)

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import router from './router'
  4. import store from './store'
  5. import './assets/css/global.css'
  6. import settings from './assets/js/settings'
  7. import axios from 'axios'
  8. import cookies from 'vue-cookies'
  9. import ElementUI from 'element-ui'
  10. import 'element-ui/lib/theme-chalk/index.css'
  11. import 'bootstrap'
  12. import 'bootstrap/dist/css/bootstrap.min.css'
  13. Vue.prototype.$settings = settings
  14. Vue.prototype.$cookies = cookies
  15. Vue.prototype.$axios = axios
  16. Vue.config.productionTip = false
  17. Vue.use(ElementUI);
  18. new Vue({
  19. router,
  20. store,
  21. render: h => h(App)
  22. }).$mount('#app')
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/113495?site
推荐阅读
相关标签
  

闽ICP备14008679号