【发布时间】:2014-04-29 22:00:21
【问题描述】:
我是新手,我想了解 Grunt 服务器是否能够处理生产应用程序部署。
.. 请帮我。
【问题讨论】:
-
你为什么要这样?
我是新手,我想了解 Grunt 服务器是否能够处理生产应用程序部署。
.. 请帮我。
【问题讨论】:
是的,你可以。但这样做将是疯狂的。所以...我会说不,不要这样做。
Grunt“服务器”(在引号中,因为它实际上运行在 NodeJS 之上)仅用于本地开发。但是,Grunt 在NodeJS 上运行,并且在ExpressJS 等一些框架的帮助下,您可以在NodeJS 上得到一些工作。看到这个Deploying a production Node.js server。
Grunt 是一个任务运行器,旨在帮助一个人更快地发展。但是Grunt 不会在您每次运行任务时都提供生产就绪的构建。它将通过让您知道需要修复什么来获得生产就绪的构建,从而帮助您实现目标。当您这样做时 - 只有这样 - 您才能发布最新版本。将它与 Git 之类的版本控制工具结合使用,您就可以得到保障。
确保在生产服务器上提供实时 Grunt 之前,您是自雇人士,这样您就不会失去工作... :)
【讨论】:
是的,您可以在生产环境中运行 grunt,您可以查看这篇文章了解如何操作。
What's the purpose of gruntjs server task?
但是,我不建议这样做。
Grunt 服务器基本上旨在帮助开发人员运行您的应用程序,而无需使用实际的服务器。除了提供页面之外,它还执行一些任务,例如编译 sass、减少文件和使用 live-reload 重新加载页面等。每当您根据您在 Gruntfile.js
中提供的配置更改这些文件和任何其他任务时但是在生产服务器中,您可能会期待大量的流量,并且每次文件更改时都会重新编译文件,一切都会变得一团糟。我认为 Grunt 服务器无法处理生产中的流量和所有任务,您的站点可能会变得非常慢。
另外Angular 是前端框架,那么您打算如何使用任何 Web 服务呢?要运行 Web 服务,您可能正在运行 Apache 或节点服务器。这样您就可以在同一台服务器上部署您的应用构建。
您可以在开发中完成所有这些操作,然后构建应用程序并将其放置在生产站点中
您可以使用 Grunt Build 命令来构建您的 Angular 应用程序,它会在 dist 文件夹中提供缩小的 javascript、css 和其他内容
您可以在您的生产服务器中部署这个缩小的应用程序。传输到客户端的代码非常少,因此您可以减少服务器上的大量带宽压力,并且您的应用程序会更快。
明智地选择:)
【讨论】: