如何在没有Node服务器的情况下运行AngularJS2应用程序
是否有可能在浏览器中运行Angular 2应用程序而不使用NodeJS作为服务器。 我不确定,但是如果我理解正确,最新的浏览器能够编译/“理解”TypeScript代码,所以我不必使用任何第三部分js库编译成纯JavaScript?
我想在前端创build一个使用100%Angular 2的应用程序,并使用Ruby On Rails为后端REST API创build一个应用程序,而不使用Rails的页面渲染,会话等。
我有点困惑它如何Angular2工作/幕后运行…我应该如何configuration我的Angular2应用程序使用它没有NodeJS?
我想你在这里混合了一些技术。
服务器
您可以在任何可以托pipe静态文件的服务器上运行Angular应用程序。 节点没有什么特别之处。 所以是的,你可以使用ruby。 或者一个Apache,nginx,lighttpd等
原因是JavaScript在客户端运行。 服务器的响应只是将JS / HTML / CSS文件发送到正在访问您的站点的客户端。
打字稿
如果您正在使用TypeScript编写应用程序,则需要在任何浏览器理解之前将其编译为JavaScript。 在将应用程序部署到服务器之前,您可以执行此操作(1),或者(2)使用像System.js这样的库,可以实时传输TypeScript。
虽然(2)绝对是一种select, Angular CLI直到最近才使用它,(1)在我看来是更好的select。 Angular CLI切换到(1),现在使用webpack 。 Webpack 在托pipe在服务器上之前正在转发和捆绑应用程序。
希望我能为你解决一些问题。
TL; DR
如果您在Angular 2中使用TypeScript,则只需在开发期间使用Node:
开发 :NodeJS用于将.ts
文件转换为.js
文件。
制作 :只有生成的.js
文件将被使用,NodeJS不再是必需的 ,除非你也在后端使用它。
注意 :如果你只在开发中使用普通的JS,你甚至不需要Node
您可以使用任何服务器端技术,包括Asp.Net Core,Node.Js,PHP来服务js,html和css内容。
在IDE中构build应用程序时,Node.js将.ts文件转换为.js文件。
- Angular 4+ Express不是从Heroku开始的
- Angular4 + Universal + ng-bootstrap导致“意外令牌导入”错误
- ./ClientApp/boot.server.ts中的错误找不到模块:错误:无法parsing'./../$$_gendir/ClientApp/app/app.server.module.ngfactory'
- Angular / Express:redirect到login后访问的最后一页
- 在Node js上运行量angular器时出错
- 如何正确设置Node,Express和Angular2
- 当Angular不可用时,如何等待一个元素与量angular器可见?
- 我在使用npm install for angular 2时遇到了麻烦
- 量angular器停止工作。 你能明白为什么吗?