我几天前用PHP开发了一个Web应用程序,用于后端,Vue用于前端。开发人员环境是我的PC,一切都运行良好,但当我将它部署到服务器时,情况发生了变化。
在我的电脑中,当一个布尔值必须由一个请求回答时,它以整数0或1的形式返回。在生产中它以字符串“0”或“1”的形式返回。我知道在javascript中我可以使用==运算符来达到我的目标,但我的问题是:Typescript会解决这个问题吗?
答案 0 :(得分:1)
我不这么认为。
Typescript是一个允许您将.ts
代码编译为.js
代码的工具。这样做 - 在编译时 - ,一些可能的问题可以被Typescript编译器捕获。例如,在编译阶段,一个Typescript代码如:
function compute(a: number): number {
return a * 7;
}
compute('ha');
会产生编译错误,因为您在需要数字时使用字符串调用compute
。最重要的是,Typescript可以提供非常好的智能感知。
但是,一旦部署并运行了Vue应用程序,服务器在每个部署中发送到浏览器的真实代码都是已编译,Javascript代码。
当您的应用程序处于活动状态且正在运行时,浏览器上没有任何打字稿:因此,如果服务器中的某些其他API返回错误值-i.e.一个字符串而不是一个数字 - 它是编译的,运行的Javascript代码,必须处理它。