繁体   English   中英

如何在 Typescript 中为现有的 JavaScript 模块模式编写模块模式

[英]How to write the Module Pattern in Typescript for an existing JavaScript Module Pattern

我对 Javascript 和 Typescript 都很陌生。 我必须将 Javascript 代码迁移到 Typescript。 这是一个返回自身而不是公开私有方法和属性的模块模式(如果我错了,请纠正我)。 所以我不知道如何处理这种情况。

var MySocket = (function () {


    function MySocket(location, openCallback, closeCallback, errorCallback) {
        //Code Goes Here
    }



    MySocket.prototype.Open = function () {
        //Code Goes Here
    }

    MySocket.prototype.Close = function () {
        //Code Goes Here
    }



    return MySocket;
})();

这称为揭示模块模式。 你仍然可以在 TypeScript 中使用它。 “现代”模式是删除 IIFE 和return语句,而是向MySocket添加export修饰符:

export function MySocket(location, openCallback, closeCallback, errorCallback) {
   //Code Goes Here
}

MySocket.prototype.Open = function () {
  //Code Goes Here
}

MySocket.prototype.Close = function () {
  //Code Goes Here
}

但是,this 的用法略有不同。 ES6 模块应该使用import语句从其他ES6 模块import而不仅仅是通过名称引用变量:

import { MySocket } from './MySocket'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM