如何在没有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度为2的节点,当你在url栏中input路由时,会得到404错误
- 这个模式是如何工作的:'test / e2e / ** / *。spec.js'?
- Angular2 / Electron应用程序组件找不到模板HTML文件
- 量angular器asynchronous等待不是一个function
- Angular jquery插件 – jQuery没有在插件中定义
- 有没有人创build了一个运行在IISNode下的Node.js,Angular2应用程序?
- Angular2与TypeScript:声明预期编译器错误@component后
- 组织3个环境的testing用例
- 将variables从beforeLaunch传递给onPrepare