mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-08-30 02:29:52 +08:00
fix: vuex plugin windows path error
This commit is contained in:
parent
769e48f0a6
commit
1a32ed3c82
@ -1,6 +1,6 @@
|
|||||||
import { parser } from '@umijs/utils';
|
import { parser, winPath } from '@umijs/utils';
|
||||||
import { readdirSync, readFileSync, statSync } from 'fs';
|
import { readdirSync, readFileSync, statSync } from 'fs';
|
||||||
import { join, sep } from 'path';
|
import { join } from 'path';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取文件夹所有JS文件路径
|
* 获取文件夹所有JS文件路径
|
||||||
@ -10,7 +10,7 @@ function getDirFilePaths(dir) {
|
|||||||
const dirs = readdirSync(dir);
|
const dirs = readdirSync(dir);
|
||||||
let pathList = [];
|
let pathList = [];
|
||||||
for (const name of dirs) {
|
for (const name of dirs) {
|
||||||
const path = join(dir, name);
|
const path = winPath(join(dir, name));
|
||||||
const info = statSync(path);
|
const info = statSync(path);
|
||||||
if (info.isDirectory()) {
|
if (info.isDirectory()) {
|
||||||
pathList = pathList.concat(getDirFilePaths(path));
|
pathList = pathList.concat(getDirFilePaths(path));
|
||||||
@ -28,7 +28,7 @@ function getDirFilePaths(dir) {
|
|||||||
function pathToHump(path, root) {
|
function pathToHump(path, root) {
|
||||||
return path.replace(root, '')
|
return path.replace(root, '')
|
||||||
.replace('.js', '')
|
.replace('.js', '')
|
||||||
.replace(RegExp(`(${sep}|\\.|-|_)\\S`, 'g'), text => text[1].toUpperCase())
|
.replace(RegExp('(/|\\.|-|_)\\S', 'g'), text => text[1].toUpperCase())
|
||||||
.replace(/\S/, text => text.toLowerCase());
|
.replace(/\S/, text => text.toLowerCase());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ function parseModel(paths = [], root) {
|
|||||||
let GETTER_TYPES = {};
|
let GETTER_TYPES = {};
|
||||||
paths.forEach((path) => {
|
paths.forEach((path) => {
|
||||||
const moduleName = pathToHump(path, root);
|
const moduleName = pathToHump(path, root);
|
||||||
importModules.push(`import ${moduleName} from '${path.replace(/\\/g, '\\\\')}'`);
|
importModules.push(`import ${moduleName} from '${path}'`);
|
||||||
modules.push(moduleName);
|
modules.push(moduleName);
|
||||||
const content = readFileSync(path).toString('utf-8');
|
const content = readFileSync(path).toString('utf-8');
|
||||||
let ast = parser.parse(content, {
|
let ast = parser.parse(content, {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { readFileSync } from 'fs';
|
import { readFileSync } from 'fs';
|
||||||
import { join } from 'path';
|
import { join } from 'path';
|
||||||
|
import { winPath } from '@umijs/utils';
|
||||||
import { parseStore } from './helper';
|
import { parseStore } from './helper';
|
||||||
|
|
||||||
const namespace = 'plugin-vuex';
|
const namespace = 'plugin-vuex';
|
||||||
@ -23,7 +24,7 @@ export default (api) => {
|
|||||||
const absCoreFilePath = join(namespace, 'core.js');
|
const absCoreFilePath = join(namespace, 'core.js');
|
||||||
const absRuntimeFilePath = join(namespace, 'runtime.js');
|
const absRuntimeFilePath = join(namespace, 'runtime.js');
|
||||||
api.onGenerateFiles(() => {
|
api.onGenerateFiles(() => {
|
||||||
const root = join(paths.absSrcPath, api.config.singular ? 'store' : 'stores');
|
const root = winPath(join(paths.absSrcPath, api.config.singular ? 'store' : 'stores'));
|
||||||
const store = parseStore(root);
|
const store = parseStore(root);
|
||||||
const vuexConfig = api.config.vuex || {};
|
const vuexConfig = api.config.vuex || {};
|
||||||
// 文件写出
|
// 文件写出
|
||||||
|
Loading…
x
Reference in New Issue
Block a user