我有一门打字稿课,越来越多了。为了更好地组织它并避免把它填塞起来,我想根据页面对象结构将它拆分成5-7个不同的文件。目前,它在一个文件中如下所示:
mainAPI.ts
const axios = require('axios');
export class API {
makeAxiosRequest() {}
doLogin() {}
getJSESSIONID() {}
getLoginResponse() {}
deleteAnUser(userName) {}
addAnUser(userName) {}
.,etc
}testFile.ts
import mainAPI from mainAPI.ts
await mainAPI.doLogin();
await mainAPI.addAnUser();
await mainAPI.logout();编辑:我希望实现这样的目标:
mainAPI.ts
const axios = require('axios');
export class API {
//Want the methods from loginAPI.ts, userAPI.ts, purchaseAPI.ts to be a part of this class.
}loginAPI.ts
doLogin() {}
doAdminLogin() {}
doMemberLogin() {} etcuserAPI.ts
deleteAnUser() {}
addAnUser() {}
updateUser() {} etcpurchaseAPI.ts
addToCart() {}
buyProduct() {}
cancelOrder() {} etc到目前为止,我只尝试按注释将API方法组件拆分。我正在寻求关于如何将一个类分割成多个文件的帮助。谢谢
发布于 2022-10-25 15:45:06
程序员不只是简单地“将代码分成不同的文件”,而是遵循称为设计模式的编程约定.
有一种最适合您的应用程序的结构/设计模式,并且考虑到我们查看您的代码的能力有限,最好自己查找一组四本书,以便进行判断,或者给我们一个更广泛的问题,并更深入地了解您在做什么。
发布于 2022-10-25 15:33:30
您可以做的是拥有一个由类API扩展的类。例如,你能做的就是
export class API extends YourNewClass {
}和
export class YourNewClass {
makeAxiosRequest() {}
doLogin() {}
getJSESSIONID() {}
getLoginResponse() {}
deleteAnUser(userName) {}
addAnUser(userName) {}
.,etc
}发布于 2022-10-25 15:41:19
您可以为每个函数创建一个单独的文件(当然,也可以在每个文件中放置多个函数)并将它们导入定义API类的文件中。
所以你的档案结构应该是:
| - API.ts
| - makeAxiosRequest.ts
| - doLogin.ts
| - ...然后,你有了你的makeAxiosRequest.ts
import { API } from "./API";
import axios from "axios";
export function makeAxiosRequest(this: API /* other args */) {
// do logic
}还有你的doLogin.ts
import { API } from "./API";
import axios from "axios";
export function doLogin(this: API /*, other args */) {
// do logic
}诸若此类。
那么,在您的API.ts中,您可以:
import { makeAxiosRequest } from "./makeAxiosRequest";
import { doLogin } from "./doLogin";
// ...
export class API {
makeAxiosRequest = makeAxiosRequest;
doLogin = doLogin;
// ...
}https://stackoverflow.com/questions/74196424
复制相似问题