首页 > 解决方案 > 导入为变量和连接?

问题描述

我在github找到了这段代码,看不懂

function writeClients(dictionary: IReferenceDirectory[]) {
//more code here

  let superClientFile = `import IClientOptions from './base/IClientOptions';\n`;
  superClientFile += `import Transport from './base/Transport';\n\n`;

来源:https ://github.com/Silind/twitter-api-client/blob/c8d724f38a9ed7112cd112ce11f2013f21b4740f/src/generator/writeClients.ts#L11

为什么作者不导入最顶部?这里的意图是什么?他+=也用

标签: javascriptnode.jsecmascript-6

解决方案


看起来库TwitterClient根据传递的dictionary参数动态构建具有字段和方法的类。在引用文件的末尾,您可以看到生成的类已写入磁盘:

fs.writeFileSync(`${generatedPath}/index.ts`, superClientFile);

因此,这似乎是一种生成TwitterClient稍后可以在您的应用程序中导入的奇特方式。使用连接构建类内容+=也被认为是当今的方法,有关更多信息,请参阅JS 字符串“+”与 concat 方法


推荐阅读