现在我们在.aspx页面中使用服务器端代码块来生成客户端脚本使用的JavaScript变量;
Page.aspx
<html>
<head>
<script type="text/javascript">
<%=GenerateJavascriptVars()%>
// session variables, database values, etc.
// use the variables
</script>
</head>
<body>
<form></form>
</body>
</html>
这很好,但是我正在研究TypeScript,并且似乎不是一个模仿这个设置的好方法,因为TypeScript需要在编译时知道这些变量的类型(这样就可以生成JavaScript文件了)。我知道.d.ts文件,但似乎在两个地方定义东西没有任何好处,那时为什么不只是使用原生JavaScript?
我想我要问的是,TypeScript是否适用于我们当前的设置?我开始认为重构可能超过强类型JavaScript的好处。我有什么遗失的东西吗?
答案 0 :(得分:1)
我想我要问的是,TypeScript是否适用于我们当前的设置?我开始认为重构可能超过强类型JavaScript的好处。我有什么遗失的东西吗?
有好处。如您所知,.d.ts
文件非常简单:
declare var sessionVarOne{}
declare var sessionVarTwo{}
但更值得推荐的少重复工作方法是使用codegen为您生成这些内容,例如:假设您将导出一个C#变量AwesomeDTO Something
,您将编码:
interface AwesomeDTO{
awesomeDTOMember : string;
}
declare var Something:AwesomeDTO;
对于codegen,请查看http://type.litesolutions.net/之类的内容(我们有自己的高度自定义解决方案,例如也可以生成Angular HTTP服务)。