我最近开始学习 AngularJS。但是我认为,如果很难在其上托管站点,那将不会很酷,因此应该提前考虑这个问题。
正如我从英语资源中了解到的那样,运行您的应用程序不需要 NodeJS,因为所有操作都可以由客户端在本地处理。
那么 AngularJS 的意义何在?为了简化部分工作?在服务器上处理数据方面,会有某种PHP吧?然后 AngularJS 就可以轻松地处理页面上的元素。
最后一件事:是否可以将 TS 脚本附加到页面来执行它?也就是说,不需要为“客户端”版本重写程序。也就是说,再一次,服务器和客户端版本看起来一样吗?
AngularJS 是一个客户端框架。(顺便说一句,如果您提到 TypeScript,您可能指的是 Angular,而不是 AngularJS。但这不会改变答案。)作为客户端框架,它不需要服务器(但您的应用程序的服务器端可能仍然需要服务器),并且它没有任何“服务器”选项。
您将需要 Node.js 来做以下事情:
编译(也称为转译)脚本。例如,您提到了 TypeScript。浏览器无法执行 TypeScript,这些脚本必须使用 tsc (TypeScript Compiler) 程序编译后才能使用。您需要 node.js 来运行 tcs,因为 tcs 只是一个脚本。
资源组装。您可以不执行此步骤,但通常建议将所有使用的资源打包到多个文件(“捆绑包”)中,以便浏览器更快地加载。为此目的发明了许多工具 - 但它们通常也使用 node.js 运行
编译和组装后,您将拥有一组静态文件——您可以将这些文件上传到任何主机。您的主机上不需要 node.js - 但您的机器上确实需要 node.js。
您的应用程序的服务器端很可能会执行以下操作:
对于第 3 点,任何 Web 服务器都适用,这是 web = servers 的基本功能。对于第 4 点,任何服务器端语言都是合适的——PHP、C#、Ruby……
如果您的应用程序的逻辑允许您不用它,您可以完全放弃服务器部分。例如,如果您正在制作浏览器扩展。