ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

node: 将json转换ts

2022-02-21 12:03:37  阅读:232  来源: 互联网

标签:node fs const ts json interface path fullPath mock


安装插件(前提存在pageage.json文件):

当前目录下安装插件: npm install  json2ts -D

当前目录,打开cmd:

新建文件夹 mkdir mock

当前目录新建入口文件: type nul > index.js

//  index.js代码: 
/* eslint-disable */
const fs = require('fs');
const json2ts = require('json2ts');

const mock_path = './mock';
const interface_path = './interface-type';

function formatMockData() {
  return new Promise((resolve, reject) => {
    fs.readdir(mock_path, function (err, files) {
      files.forEach((name) => {
        const fullPath = `${mock_path}/${name}`;
        const data = JSON.parse(fs.readFileSync(fullPath));
        const formatData = JSON.stringify(data, null, 2);
        fs.writeFileSync(fullPath, formatData, 'utf-8');
        resolve();
      });
    });
  });
}

async function mockToTs() {
  await formatMockData();
  const isExist = fs.existsSync(interface_path);
  if (!isExist) fs.mkdirSync(interface_path);
  fs.readdir(mock_path, function (err, files) {
    files.forEach((name) => {
      const fullPath = `${mock_path}/${name}`;
      const data = fs.readFileSync(fullPath, 'utf-8');
      const interfaceString = json2ts.convert(data);
      fs.writeFileSync(
        `${interface_path}/${name.replace('json', 'ts')}`,
        interfaceString,
        'utf-8',
      );
    });
  });
}

mockToTs();

运行: node index.js

 

 

 

标签:node,fs,const,ts,json,interface,path,fullPath,mock
来源: https://www.cnblogs.com/vs1435/p/15918238.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有