微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node: 将json转换ts

安装插件(前提存在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

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐