通常我会将一些服务器端变量放到全局范围中,这样我就可以从客户端的TypeScript代码中的任何位置访问它们,例如:
在.cshtml文件中的服务器端:
<script>
const RazorGlobals = {
apiBaseUrl: '@Model.ApiBaseUrl'
}
</script>
客户端代码:
declare const RazorGlobals: {
apiBaseUrl: string
}
fetch(RazorGlobals.apiBaseUrl + '/myResource').then(doStuff)
目前我需要在每个需要使用它的文件的顶部重复使用declare const RazorGlobals...
部分。我正在寻找一种方法,在单个位置定义此声明,类似于以下伪代码:
globals.d.ts:
export declare const RazorGlobals: {
apiBaseUrl: string
}
file1.ts:
import './globals'
fetch(RazorGlobals.apiBaseUrl + '/myResource').then(doStuff)
file2.ts:
import './globals'
fetch(RazorGlobals.apiBaseUrl + '/myOtherResource').then(doOtherStuff)
有没有一种方法可以实现类似这样的效果?
export
和导入语句。tsc应该会自动识别它。话虽如此,@gilamran说得有道理,您可能不应该仅仅假设它存在,而是将其作为应用程序配置的一部分。 - toskv