Как использовать машинопись для разработки пользовательских символов PI Vision - PullRequest
0 голосов
/ 27 июня 2019

Я разрабатываю пользовательский компонент для инструмента с именем PI Vision.Он использует AngularJS, и для создания пользовательских компонентов необходимо включить в папку component-template.html, component.js, и он динамически загружает новый компонент.

файл component.js должен бытьв этом формате:

(function (CS,d3) {

// SOME MANDATORY CODE WITH THIS window.PIVisualization

// SOME CUSTOM CODE, WITH MY LOGIC

})(window.PIVisualization,d3);

То, что я пытаюсь сделать, это использовать TypeScript для генерации этого component.js со всеми преимуществами использования typcript в качестве поддержки ES6 и прочего.Но проблема в том, что когда я пытаюсь разделить логику на файлы, я не могу вывести один файл с простым javascript.

У меня есть мой главный component.js с:

import { MyClass } from "./myclass"

(function (CS,d3) {

// STUFF

let x = new MyClass("test");

// MORE STUFF

})(window.PIVisualization,d3);

myclass.ts имеет:

export class MyClass {
    constructor(nome: string) {
        return nome;
    }
};

tsconfig.json был протестирован с модулем AMD и outFile"./build/component.js"

В результате получается что-то вроде

define("testclass", ["require", "exports"], function (require, exports) {
    "use strict";

И я не верю, что он будет работать в браузере.

ЧтоЯ ищу способ, при котором при переносе результатом будет один файл с определением myclass до IIFE (было бы желательно пространство имен) и IIFE с использованием этого класса.

1 Ответ

1 голос
/ 27 июня 2019

Это ожидаемый результат для "модуля AMD "; если вы не используете загрузчик модулей, включая тип, включенный в более новые версии Javascript, это звучит так, как будто вам нужен модуль «Нет». См. Опции Typescript Документы для --module, хотя, конечно, вы можете указать это в вашем файле tsconfig.json .

Обратите внимание, что для вывода Javascript по умолчанию будут использоваться IIFEs ; если вы хотите изменить способ инкапсуляции вашего кода, вам может потребоваться изменить ввод Typescript, и в этом случае ваш вопрос может выиграть от публикации вывода --module=None по сравнению с вашими ожиданиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...