如何在没有Node服务器的情况下运行AngularJS2应用程序

Nag*_*vin 29 javascript ruby-on-rails node.js angular

是否可以在浏览器中运行Angular 2应用程序而不使用NodeJS作为服务器.我不确定,但如果我理解正确,最新的浏览器能够编译/"理解"TypeScript代码,所以我不必使用任何第三部分js lib将其编译成普通的javascript?

我想在前端使用100%Angular 2创建一个应用程序,使用Ruby On Rails创建后端REST API,而不使用Rails的页面呈现,会话等.

我很困惑它Angular2如何在幕后工作/运行......我应该如何配置我的Angular2应用程序以在没有NodeJS的情况下使用它?

Seb*_*ald 35

我想你在这里混淆了一些技术.

服务器

您可以在任何可以托管静态文件的服务器上运行Angular应用程序.节点没有什么特别之处.所以,是的,你可以使用红宝石.或Apache,nginx,lighttpd等.

原因是JavaScript在客户端运行.服务器的响应只是将JS/HTML/CSS文件传递给访问您站点的客户端.

打字稿

如果您正在使用TypeScript编写应用程序,则需要在任何浏览器理解之前将其转换为JavaScript .您可以在将应用程序部署到服务器之前执行此操作(1),或者(2)使用像System.js这样可以动态传输TypeScript 的库.

虽然(2)绝对是一个选项,Angular CLI直到最近才使用它,(1)在我看来是更好的选择.Angular CLI切换到(1),现在正在使用webpack.将应用程序托管在服务器上之前,Webpack正在进行转换和捆绑.

希望我能为你清理一下.


Chr*_*ssy 15

TL; DR

如果将TypeScript与Angular 2一起使用,则在开发期间只需要Node:

DEV:NodeJS用于将.ts文件转换为.js文件.

PROD:生成的.js文件在浏览器中使用,不再需要 NodeJS,除非您也在后端使用它.

注意:如果您只在开发中使用普通JS,则甚至不需要Node