我在过去8个月左右的时间里构建了一个非常大的nodeJS应用程序,直到最近我们的文件夹结构设置得很好。为了使整个系统更具可扩展性和“企业化”,我正在重新构建整个构建过程。
我已经修改过的文件系统看起来像这样:
|
+-- Gruntfile.js
|
+-- pub
| |
| +-- dist
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
|
+-- sites
| |
| +-- site1
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
|
| +-- site2
| | |
| | +-- assets
| | | | +-- images/fonts/etc..
每个网站(site1, site2
)都在他们自己的回购中,只有在需要时才会被提取。这允许我不重复任何代码并使不同的站点相互继承。当应用程序启动时,我只需要通过NODE_SITE site1
并在开发中grunt负责所有构建/复制所有资产,并将所有正确的文件放在dist
中,以便我可以在我的grunt copy
上使用它们站点。
由于Grunt不应该用于生产,可能是另一种选择吗?或者只使用{{1}}任务好吗?
答案 0 :(得分:0)
Grunt应该作为构建过程其余部分的一部分运行。因此,如果gruntfile的默认任务对应于deve环境,则为prod环境创建任务。这个“prod”任务,应该缩小JS,CSS和其他东西,将资源复制到所需的位置,就是这样。与构建脚本的其余部分一起运行一次。