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文件,我不知道是否会改变任何内容.
如果您具有命名导入且未使用该名称,则会忽略导入.
对于具有副作用的导入 - 并且没有您希望使用的名称 - 您可以使用以下语法:
import "./some-module-with-side-effects";
Run Code Online (Sandbox Code Playgroud)
从文档:
仅导入副作用的模块
虽然不推荐做法,但有些模块设置了一些可供其他模块使用的全局状态.这些模块可能没有任何出口,或者消费者对其任何出口都不感兴趣.要导入这些模块,请使用:
Run Code Online (Sandbox Code Playgroud)import "./my-module.js";