如何在javascript中导入typescript类?

如何在javascript中导入typescript类?,javascript,typescript,Javascript,Typescript,这就是我在typescript中导入app.config.ts类并使用它的方式。如何在Javascript文件(config.js)中导入相同的AppConfig类并访问方法getConfig 服务.ts import { AppConfig } from '../app.config'; constructor(private http: Http, private config: AppConfig) { this.dataURL = this.config.getConfig('r

这就是我在typescript中导入app.config.ts类并使用它的方式。如何在Javascript文件(config.js)中导入相同的
AppConfig
类并访问方法
getConfig

服务.ts

import { AppConfig } from '../app.config';
constructor(private http: Http, private config: AppConfig) {
    this.dataURL = this.config.getConfig('restApi') + '/api/getdata/'
    console.log(this.dataURL)
}

我不知道你到底在问什么,所以我把它分成几个部分:

如果您试图将Typescript文件导入到JavaScript文件中 最好的解决方案是将config.js重命名为config.ts,并将其视为typescript文件

i、 e.如果您有此项:

导出类AppConfig{
foo:string;
条:数字;
}
在config.js中,您有以下内容:

导出常量配置={
傅:“你好,世界”,
酒吧:42
}
但我想你想要的是类似于:

从“/app.config”导入{AppConfig}
导出常量配置:AppConfig={
傅:“你好,世界”,
酒吧:42
}
然后将config.js重命名为config.ts。无论如何,它必须是一个用于类型检查的typescript文件(除非您将allowJs规则放在tsconfig.json中,但即使这样,我也不认为将.ts文件导入.js文件是明智的)

如果您试图从URL动态导入Javascript文件(或其他内容) 动态导入JavaScript文件实际上在浏览器中不起作用,原因有两个,一个是安全性,另一个是因为ES6的“导入”(或节点的“require”)不在浏览器标准中

相反,我建议您将配置转换为
JSON
文件,并使用JavaScript的原生
JSON.parse
对其进行解析。即:

http.get(this.dataUrl).toPromise().then(response=>{
设config=null;
试一试{
config=JSON.parse(response.data);
}捕获(e){
错误(“无法分析响应!”);
}
this.config=new-AppConfig(config);//参见注释
}
或者类似的东西


注意:我假设您的AppConfig类有一个副本和一个默认构造函数。如果您没有,那么您可以创建一个副本,创建一个解析函数或类似的东西。

请您分享有关当前捆绑包(webpack)的更多信息还有具体的配置?一点也不,因为Typescript不能直接由Javascript执行。你必须有一些工具来负责将Typescript转换为可执行的Javascript,答案就在这里。