如何使用打字稿开发PI Vision自定义符号



我正在为名为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生成此组件。但是问题是,当我尝试将逻辑分为文件中时,我无法在单个文件中输出普通的JavaScript。

我有:

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;
    }
};

用模块AMD和Outfile测试了Tsconfig.json。

输出正在产生

之类的东西
define("testclass", ["require", "exports"], function (require, exports) {
    "use strict";

我不相信它会在浏览器中运行。

我要寻找的是一种在移动时,结果将是一个文件,并在iife之前定义了myClass(一个名称空间是可取的(,而IIFE使用该类别的IIFE。

这是"模块AMD"的预期输出;如果您不使用模块加载程序,包括捆绑到JavaScript的较新版本的类型,听起来您需要模块"无"。请参阅--module的TypeScript选项文档,尽管您当然可以在tsconfig.json中指定。

请注意,JavaScript输出将默认使用IIFE;如果要更改代码封装方式,则可能需要更改打字稿输入,在这种情况下,您的问题可能会受益于与期望相比,发布--module=None的输出。

相关内容

  • 没有找到相关文章

最新更新