0

我使用 yeoman 角度生成器创建了一个新项目,然后我对其进行了一定程度的修改以满足我自己的需要。但是后来我意识到我想使用 mean.io 来支持 express 和 mongodb。我花了很长时间将必要的部分从 mean.io 默认项目复制到我自己的项目中。但是,我仍然面临 grunt-rev 和 grunt-usemin 的严重问题。

最初的 yeoman 生成的项目有 app/ 文件夹,其中包含所有 AngularJS 项目。然而,新项目有 app/ 文件夹用于服务器中存在的所有项目,然后是 public/ 文件夹用于客户端所需的所有项目。现在 grunt-rev 插件重命名 css 和图像文件以包含一些与该项目的版本匹配的标识符。我认为这非常有用,所以我想将它保留在我的项目中。接着; 我的 index.html 位于 app/ 文件夹中,所有的 CSS 和图像都在 public/ 文件夹中。在我的 index.html 中,我得到了类似“<img src="images/imagename.png">“。这在我通过启动节点 express 服务器测试项目时有效,因为它从服务器根目录的同一位置同时提供 app/views/ 和 public/。但是 Usemin 不理解这一点,因为图像源不t 匹配绝对文件夹结构。我试图将 app/views/ 内容移动到 app/,但无济于事。使用 cssmin 构建的 css 文件也会发生同样的情况。我在 index.html 中获得了属性,并且在该属性下我的所有 css . 构建之后,我在那里得到了styles/main.css,但由于usemin没有意识到文件夹结构,我最终在index.html中得到了styles/main.css,在styles/中得到了986a2d75.application.css。

有什么方法可以让 usemin 知道应该像处理一个文件夹一样处理两个文件夹?我发现您可以强制 usemin 查找特定模式,但这会迫使我记住将每个图像分别添加到 gruntfile,所以在我这样做之前我宁愿根本不使用这些插件。

4

1 回答 1

0

终于发现了Generator Angular Fullstack,它做了我需要的一切以及更多。它正确处理从 src->.tmp->dist 复制文件,并在此过程中执行所有必要的 usemin 魔术。很棒的工具!

于 2014-03-22T11:48:25.917 回答