json 尝试在打字稿中导入外部模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json 尝试在打字稿中导入外部模块相关的知识,希望对你有一定的参考价值。

declare module 'emitter20' {

    function Emitter(): Emitter.IEmitter;
    namespace Emitter {
        interface IEmitter {
            on: (eventName: string, cb: (data?: any) => void) => void;
            trigger: (eventName: string, data?: any) => void;
        }
    }


    export = Emitter;
}
module.exports = function() {
  var subscribers = []
  return {
    on: function (eventName, cb) {
      subscribers.push({
        eventName: eventName,
        cb: cb
      })
    },
    trigger: function (eventName, data) {
      subscribers
        .filter(function (subscriber) {
          return subscriber.eventName === eventName
        })
        .forEach(function (subscriber) {
          subscriber.cb(data)
        })
    }
  }
}
import * as emitter from 'emitter20';

var emitterInstance : emitter.IEmitter = emitter();
emitterInstance.on("event", (data : any) => {
    console.log(data.foo);
})

emitterInstance.trigger("event", {"foo": "bar"});
{
  "devDependencies": {
    "typescript": "^1.8.10"
  }
}

以上是关于json 尝试在打字稿中导入外部模块的主要内容,如果未能解决你的问题,请参考以下文章

如何在打字稿中导入js文件作为模块

如何在打字稿项目中导入节点模块。 ERR_REQUIRE_ESM

如何在打字稿monorepo中导入本地包

在打字稿中导入 javascript 库时出错

如何在打字稿中导入 react-cookie

在 Web Worker 中导入 tensorflow 时出现 Angular 打字稿类型检查问题