Closed Zacharia2 closed 1 year ago
类型封装。封装为一个js对象,并提供一些对象方法和一个构造方法。使外部能够调用。
/*
Convert an EPUB file into a TWPUB plugin
*/
const fs = require("fs"),
path = require("path"),
{promisify} = require("util"),
readFileAsync = promisify(fs.readFile),
writeFileAsync = promisify(fs.writeFile),
{ArgParser} = require("./utils"),
{EpubReader} = require("./epub-reader"),
{TwpubPlugin} = require("./twpub-plugin");
module.exports = class Epub2twpub{
constructor(epub, output) {
// Get our app version number
this.version = require("../package.json").version;
this.args[‘epub’] = epub;
this.args[‘output’] = output;
}
async main() {
// Setup the epub
this.epubReader = new EpubReader(this);
await this.epubReader.load(this.args.epub);
// Create the twpub plugin
this.twpubPlugin = new TwpubPlugin(this,{epubReader: this.epubReader});
// Convert the epub
this.twpubPlugin.convertEpub();
// Save the twpub plugin
await writeFileAsync(this.args.output,this.twpubPlugin.getPluginText(),"utf8");
}
}
const app = new Epub2twpub();
// Notice the first uppercase letter, since User is a class
const User = require("./user.js");
// Create an object from this class
const johnDoe = new User("John", "Doe");
// Use the created object
console.log(johnDoe.describe());
export type DriveStep = {
element?: string | Element;
onHighlightStarted?: DriverHook;
onHighlighted?: DriverHook;
onDeselected?: DriverHook;
popover?: Popover;
};
export function driver(options: Config = {}) {
configure(options);
function handleClose() {
if (!getConfig("allowClose")) {
return;
}
destroy();
}
}
export type Driver = ReturnType<typeof driver>;
我知道了,因为它本身就被构建成功且捆绑为一个单文件,由于被导入,所以被modern识别为用户编写的js或ts文件,然后被包含进插件中。
https://www.javascriptcn.com/post/61831
什么是 dts-bundle-generator
dts-bundle-generator 是一个用于生成 TypeScript 模块的声明文件(.d.ts 文件)的 npm 包。使用该包可以方便地将 TypeScript 模块打包成一个具有完整类型声明的模块,方便其他开发者在 TypeScript 环境下使用你的模块。
如何使用 dts-bundle-generator
安装
要使用 dts-bundle-generator,首先需要安装该包。可以通过以下命令将其安装到项目中:
配置
安装好 dts-bundle-generator 后,需要对其进行配置以便生成正确的声明文件。
在项目的根目录下创建一个名为 dts-bundle.json 的配置文件,并填写以下内容:
其中:
生成类型声明文件
配置好 dts-bundle.json 后,可以通过以下命令生成类型声明文件:
如果想要在运行构建命令时自动生成类型声明文件,可以将以上命令添加到 package.json 中的 scripts 中:
示例代码
以下是一个使用了 dts-bundle-generator 的示例代码:
在这个示例中,我们使用了 dts-bundle-generator 自动生成 math-utils 模块的类型声明文件,方便其他 TypeScript 开发者使用我们的模块。
总结
dts-bundle-generator 为 TypeScript 模块的开发者提供了一个方便快捷的工具,可以使开发者更容易地生成完整的类型声明文件。我们可以通过以上步骤使用 dts-bundle-generator,将我们的 TypeScript 模块转化为一个更加完善的工具,让其他开发者更容易地使用我们的模块。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/61831