index.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import fs from "fs";
  2. import { join } from "path";
  3. // 首字母大写
  4. export function firstUpperCase(value: string): string {
  5. return value.replace(/\b(\w)(\w*)/g, function ($0, $1, $2) {
  6. return $1.toUpperCase() + $2;
  7. });
  8. }
  9. // 横杠转驼峰
  10. export function toCamel(str: string): string {
  11. return str.replace(/([^-])(?:-+([^-]))/g, function ($0, $1, $2) {
  12. return $1 + $2.toUpperCase();
  13. });
  14. }
  15. // 创建目录
  16. export function createDir(path: string) {
  17. if (!fs.existsSync(path)) fs.mkdirSync(path);
  18. }
  19. // 读取文件
  20. export function readFile(name: string) {
  21. try {
  22. return fs.readFileSync(name, "utf8");
  23. } catch (e) {}
  24. return "";
  25. }
  26. // 解析body
  27. export function parseJson(req: any): Promise<any> {
  28. return new Promise((resolve) => {
  29. let d = "";
  30. req.on("data", function (chunk: Buffer) {
  31. d += chunk;
  32. });
  33. req.on("end", function () {
  34. try {
  35. resolve(JSON.parse(d));
  36. } catch {
  37. resolve({});
  38. }
  39. });
  40. });
  41. }
  42. // 深度创建目录
  43. export function mkdirs(path: string) {
  44. const arr = path.split("/");
  45. let p = "";
  46. arr.forEach((e) => {
  47. const t = join(p, e);
  48. try {
  49. fs.statSync(t);
  50. } catch (err) {
  51. try {
  52. fs.mkdirSync(t);
  53. } catch (error) {
  54. console.error(error);
  55. }
  56. }
  57. p = t;
  58. });
  59. return p;
  60. }