使用grunt-usemin和Mean.io(单独的public /和app /文件夹)

时间:2014-03-11 19:47:31

标签: gruntjs grunt-usemin mean.io grunt-contrib-cssmin

我使用yeoman角度生成器创建了一个新项目,然后我进行了一些扩展以适应我自己的需要。然而,后来我意识到我想使用mean.io来表达和mongodb支持。我花了很长时间将必要的部分从mean.io默认项目复制到我自己的项目中。但是我仍然面临着grunt-rev和grunt-usemin的严重问题。

原始的yeoman生成的项目有app /文件夹,其中包含所有AngularJS项目。然而,新项目具有服务器中存在的所有项目的app /文件夹,然后是客户端所需的所有项目的公共/文件夹。现在,grunt-rev插件重命名css和图像文件,以包含一些与该项目的版本匹配的标识符。我认为这非常有用,所以我想将它保留在我的项目中。接着;我的index.html位于app /文件夹中,所有css和图像都在public /文件夹中。在我的index.html中,我得到的图像格式如&#34; <img src="images/imagename.png">&#34;。当我通过启动节点快速服务器测试项目时,这可以工作,因为它提供了app / views /和public /来自同一位置的服务器根目录。然而,Usemin并不理解这一点,因为图像源与绝对文件夹结构不匹配。我试图将app / views / content移动到app /但无济于事。使用cssmin构建的css文件也是如此。我在我的index.html和我所有的CSS下获得了属性。在构建之后我得到了styles / main.css但是因为usemin没有实现文件夹结构,我最终得到了index.html中的styles / main.css和样式中的986a2d75.application.css./。 >

有没有办法让usemin知道两个文件夹应该像它们一样处理?我发现你可以强迫usemin寻找某种模式,但这会迫使我记得将每个图像分别添加到gruntfile中,所以在我做这件事之前我根本不要使用这些插件。

1 个答案:

答案 0 :(得分:0)

最后发现了Generator Angular Fullstack我做了我需要的所有事情。它正确处理从src-> .tmp-&gt; dist中复制文件,并在此过程中完成所有必要的usemin魔术。真棒工具!