Я разрабатываю пользовательский компонент для инструмента под названием 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 со всеми преимуществами использования машинописного текста в качестве поддержки ES6 и прочего. Но проблема в том, что когда я пытаюсь разделить логику на файлы, я не могу вывести в один файл простой javascript.
У меня есть мой основной компонент .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, использующий этот класс.