在不使用任何导出的情况下导入typescript文件

Tho*_*mas 3 javascript import typescript

我是TypeScript的新手,我有一个main.tc,我导入items.tc,它包含并导出一些项类,还将类类型添加到itemManager.tc的数组中.问题是,如果我在main.tc中以某种方式使用来自items.tc的至少1个导出,它们只会被添加到数组中,即使只是记录导出工作.

这是我的文件的一些缩短版本:

main.tc

import * as Items from "./item";
import * as ItemManager from "./itemManager";

console.log(ItemManager.list) //List is empty
Run Code Online (Sandbox Code Playgroud)

items.tc

import * as ItemManager from "./itemManager";

export class Item1
{
    constructor()
    {

    }
}
ItemManager.list.push(typeof Item1);
Run Code Online (Sandbox Code Playgroud)

itemManager.tc

export const list = [];
Run Code Online (Sandbox Code Playgroud)

如果我添加console.log(Items.Item1)到我的main.tc,ItemManger.list将包含所有项目,但这样做并不理想.有没有办法确保导入的文件运行?或者我应该使用除导入之外的其他东西?

我正在使用webpack将其编译为单个.js文件,我不知道是否会改变任何内容.

car*_*ant 8

如果您具有命名导入且未使用该名称,则会忽略导入.

对于具有副作用的导入 - 并且没有您希望使用的名称 - 您可以使用以下语法:

import "./some-module-with-side-effects";
Run Code Online (Sandbox Code Playgroud)

文档:

仅导入副作用的模块

虽然不推荐做法,但有些模块设置了一些可供其他模块使用的全局状态.这些模块可能没有任何出口,或者消费者对其任何出口都不感兴趣.要导入这些模块,请使用:

import "./my-module.js";
Run Code Online (Sandbox Code Playgroud)