vue前端工程自动化

21 篇文章 0 订阅

这几天再忙着 几天没有更新了 今天给大家总结一下前端工程自动化吧 

首先 先理解一下什么是自动化 我自己理解的就是 好比一个机器 你设定好程序 无论你怎么操作 都不影响流程和结果 就按照你设定好的程序走 

先思考一下 为什么要用自动化 肯定是方便 减少操作的复杂度 

比如 我们封装了很多的方法.js  对应很多js文件 然后在页面里面使用的时候 是不是要全部都一个一个的引入 很多人认为 方法都放在一个js文件里面 不需要很多 其实 正常来说 是根据功能来划分的 比如 权限 导入导出 校验 。。。 在或者说 vuex里面的命名空间 动态vue路由等 肯定都会遇到 

不多哔哔 先看下自动化的目录吧 

正常来说 就是一个主文件和一个modules文件夹 然后里面放置不同的js文件 

自动化工程 主要是使用的es6 require.context方法实现的 里面有是三个参数 第一个路径第二个boolean 是否加载子文件 第三个正则 用来匹配文件格式 

先以vue router 为例看一下吧 

const routersFiles = require.context('./modules', true, /\.js$/)
// let routerList = []
// routersFiles.keys().forEach(item=>{
//   // console.log(routersFiles(item).default,routerList)
//   routerList.push(routersFiles(item).default)
// })
// console.log(routersFiles,"routersFilesroutersFiles")
const routers = routersFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = routersFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})
export const constantRoutes = [
  ...Object.values(routers),
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
  },
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      {
        path: '/redirect/:path(.*)',
        component: () => import('@/views/redirect/index')
      }
    ]
  }
];

根据不同场景 有多种写法 

在看看vuex

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})
const store = new Vuex.Store({
  modules,
  getters
})

export default store

自己写的时候 一定要去打印 看看方法里面得到的是什么 这样的话 才能方便更好理解和吸收 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沫熙瑾年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值