Vuex扫描自定义文件夹下的所有文件
解决问题:当我们规范 model 统一放在某个文件夹下,且可以通过子文件夹分类。当新加model时又不想去修改别的地方。
代码
// /src/sotre/index.js
1 import { createStore } from 'vuex';
2
3 const allComponents = require.context('.', true, /\.*[^(index)]\.js$/);
4 const resComponents = {};
5 allComponents.keys().forEach((fileName) => {
6 const moduleName = fileName.split(/\.|\//).at(-2);
7 if (!fileName.includes('index.js')) {
8 const comp = allComponents(fileName);
9 if (resComponents[moduleName]) {
10 const see = `/src/store/${fileName}`;
11 throw new Error(
12 `already exist same namespace:${moduleName} in store. See:${see.replace(
13 '/./',
14 '/',
15 )}`,
16 );
17 }
18 resComponents[moduleName] = comp.default;
19 }
20 });
21
22 export default createStore({
23 state: {},
24 mutations: {},
25 actions: {},
26 getters: {},
27 modules: resComponents,
28 });
作用:
1、扫描当前目录及子目录下的所有文件。
2、剔除所有的 index.js文件。
3、把文件名作为namespace,所以 尽管不在一个文件夹中,文件名仍不可以重复。
Vuex扫描自定义文件夹下的所有文件的更多相关文章
- shell脚本实现查找文件夹下重复的文件,并提供删除功能
Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...
- GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...
- php 读取网页源码 , 导出成txt文件, 读取xls,读取文件夹下的所有文件的文件名
<?php // 读取网页源码$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLO ...
- C#实现把指定文件夹下的所有文件复制到指定路径下以及修改指定文件的后缀名
1.实现把指定文件夹下的所有文件复制到指定路径下 public static void copyFiles(string path) { DirectoryInfo dir = new Directo ...
- C/C++不同文件夹下包含头文件的方法及#include的使用
转自:http://blog.sina.com.cn/s/blog_6e0693f70100so42.html 本文主要介绍了如何不同文件夹下使用预处理器指示符#include. 假设我们有如下一个工 ...
- 递归输出文件夹下的所有文件的名称(转自 MSDN)
问题:如何输出给定文件夹目录下面的所有文件的名称? C#代码: using System; using System.IO; namespace MyTest { public class Progr ...
- IO流的练习3 —— 复制多级文件夹下的指定文件并改名
需求:复制指定目录下的指定文件,并修改后缀名. 指定的文件是:.java文件. 指定的后缀名是:.jad 数据源所在文件夹:C:\Users\Administrator\Desktop\记录 目的地所 ...
- C/C++遍历Windows文件夹下的所有文件
因为文件夹中往往包含文件和文件夹.想要遍历所有的文件,必须遍历文件夹中所有的文件夹.很显然,这个描述满足递归的两个要素:(1)问题的规模在不断的缩小,且新问题的模式与旧问题相同.很显然文件夹中含有子文 ...
- JAVA 遍历文件夹下的所有文件
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- java读取某个文件夹下的所有文件
import java.io.FileNotFoundException;import java.io.IOException;import java.io.File; public class Re ...
随机推荐
- youtube-dl下载太慢了,我选yt-dlp
前言 最近过年嘛,过年前照例来下载一些贺岁歌曲,现在国内没啥人做贺岁专辑,这方面还得看马来西亚华人,他们每年都有出专辑,质量很不错! 国内平台自然是没有(或者不全的),需要在YouTube下载~ 之前 ...
- 超详细解锁Webpack步骤,踩坑记录
webpack 核心 entry: 入口 output: 输出 loader: 模块转换器,用于把模块原内容按照需求转换成新内容 插件(plugins): 扩展插件,在webpack构建流程中的特定时 ...
- Unity模块嵌入到Android中
嗨,大家好,小黑在沉寂了6个月之后,终于要继续写一篇博客了. 先吐槽一波上家公司PHD&&OMS,不吐不快.上家公司的小黑,每天不是在弄UIWidgets,就是再弄UIWidgets, ...
- 真正“搞”懂HTTP协议11之代理服务
代理,其实全称应该叫做代理服务器,它是客户端与服务器之间得中间层,本质上来说代理就是一个服务器,在HTTP的链路中插入的一个中间环节,就是代理服务器啦.所谓的代理服务就是指:服务本身不生产内容,而是处 ...
- YonBuilder移动开发平台App拉起第三方应用
在App的开发过程中,有一种常见场景,就是拉起第三方app,那么使用YonBuilder移动开发做app的时候,是怎么拉起第三方App的呢,下边我们讲一下步骤. 我们以安卓应用打开支付宝为例进行说明: ...
- Vue02 Node下载安装
转 https://blog.csdn.net/A_awen/article/details/121952701 1 下载 https://nodejs.org/en/download/ 2 安装 全 ...
- spring cloud alibaba sentinel 运行及简单使用
1.官网 英文:https://github.com/alibaba/Sentinel 中文:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7 ...
- UBUNTU16.04卸载安装protobuf
1.卸载 sudo apt-get remove libprotobuf-dev which protoc 然后删除路径即可 2.安装 sudo apt-get install autoconf au ...
- Java7.10
很不能理解以下代码的问题???
- NETAPP硬盘更换
netapp硬盘新增 一.找到坏盘,插上新盘# 1.登陆到想要点亮的硬盘相对应的控制器上,并进去高级模式. priv set advanced 2.利用disk show -v 查看想要点亮的硬盘名字 ...