首页 > 解决方案 > 如何使用 const 将 Javascript 要求翻译为 Typescript 导入

问题描述

我正在尝试导入 faktory (github.com/jbielick/faktory_worker_node)。自述文件建议:

const faktory = require('faktory-worker');

faktory.register('ResizeImage', async ({ id, size }) => {
  const image = await Image.find(id);
  await image.resize(size);
});

faktory.work();

我试着把它翻译成打字稿:

import faktory from 'faktory-worker';

faktory.register('ResizeImage', async ({ id, size }) => {
  const image = await Image.find(id);
  await image.resize(size);
});

faktory.work();

TypeError: Cannot read property 'register' of undefined无论我做什么,我都会得到。我以为我必须用const某种方式创建一个对象,但我就是不知道怎么做。

我可以保留语法,但 Typescript 建议按规则导入的最佳实践no-var-requires: require statement not part of an import statement

标签: javascripttypescript

解决方案


添加 "esModuleInterop": true到 tsconfig.json 为我解决了这个问题,例如

{
  "compilerOptions": {
    "esModuleInterop": true
    // ...
  }
}

推荐阅读