Web applications 文件夹结构webapp/带有grunt自动化的网站

Web applications 文件夹结构webapp/带有grunt自动化的网站,web-applications,web,directory,structure,gruntjs,Web Applications,Web,Directory,Structure,Gruntjs,目前,我想将我的工作流程从Makefile更改为Grunt和watcher。我在www.domain.net上有一个开发服务器,在www.domain.nl上有一个生产服务器。我必须手动编译、更新dev服务器上的代码并刷新web浏览器。在从开发环境到产品环境的过程中,我也遇到了困难。我必须更改文件路径、域,并将dev js文件更改为缩小的文件,以html等形式取消对分析代码的注释。过去/现在仍然是手工劳动,很容易出现人为错误 我想知道如何设置一个只生成开发CSS、JS、HTML的环境,并构建一个

目前,我想将我的工作流程从Makefile更改为Grunt和watcher。我在www.domain.net上有一个开发服务器,在www.domain.nl上有一个生产服务器。我必须手动编译、更新dev服务器上的代码并刷新web浏览器。在从开发环境到产品环境的过程中,我也遇到了困难。我必须更改文件路径、域,并将dev js文件更改为缩小的文件,以html等形式取消对分析代码的注释。过去/现在仍然是手工劳动,很容易出现人为错误

我想知道如何设置一个只生成开发CSS、JS、HTML的环境,并构建一个生产目录,其中包括所有必要的缩小和连接的文件。稍后,我只需将目录中的文件夹/文件上载到生产服务器,并将所有这些手动作业从我身边带走


你们有什么建议,或者你们的工作流程是什么?

这是比较通用的,但这里是一个尝试

您需要的第一件事实际上是“构建系统”(或“任务管理器”)。这肯定是“制造”或“咕噜”。然后,您将编写一个gruntfile(或makefile),它将描述生成包所需的每个步骤,并且您将在该文件中创建特定的“目标”,它将根据您是生成用于开发还是生产的包(“domain.net”还是“domain.nl”)来描述特定的选项/值

假设您与grunt合作,您肯定可以通过以下方式实现:

grunt.initConfig({
  myConfig: grunt.file.readJSON('configurationFile.json')
});
然后:

通过这种设置,您可以:

grunt myTask:dev

为特定环境生成包。 显然,您需要使用各种grunt插件来做任何有用的事情,并使用options值替换源文件中的模板值

在这一点上,至少您可以通过运行单个构建命令自动生成一个可靠的包

不过,您绝对需要阅读grunt文档:

您可能需要的第二部分是CI服务器。 他们周围有很多人——詹金斯(尊者),或者最近的漫游者()

安装和配置其中一个将使构建操作自动化。也就是说,每次提交一些代码时,都会在CI服务器上触发生成,并且新包(假设生成成功)可用

同样,你肯定需要阅读一些关于CI的背景文档(比如),然后用其中的一个来弄脏它们

不管是哪种方式,从咕噜声开始,看看会发生什么


希望能有所帮助。

好的,谢谢您的反馈。我正在阅读《Grunt入门》并从Twitter引导程序中剖析grunfile.js(这本书相当复杂)。
{
   'dev': {'domain': 'domain.net'},
   'prod': {'domain': 'domain.com'}
}
grunt myTask:dev
grunt myTask:prod