Как написать шаблон модуля в Typescript для существующего JavaScript шаблона модуля - PullRequest
0 голосов
/ 21 февраля 2020

Я совершенно новичок как в 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;
})();

1 Ответ

0 голосов
/ 21 февраля 2020

Это называется шаблоном раскрывающегося модуля. Вы все еще можете использовать это в TypeScript. «Современный» шаблон будет состоять в том, чтобы удалить оператор IIFE и return и вместо этого добавить модификатор export к MySocket:

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

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

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

Однако использование этого немного отличается. Ожидается, что модули ES6 будут импортированы из других модулей ES6, используя оператор import, а не просто ссылку на переменную по имени:

import { MySocket } from './MySocket'
...