问题标签 [grunt-usemin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - imagemin dist 无法正常工作
我正在使用 grunt 进行项目。我在使用 grunt 和 mvn 运行项目时遇到此异常。
警告:运行“imagemin:dist”(imagemin)任务警告:找不到模块“graceful-fs”使用--force 继续。
谁能帮我?。
提前谢谢。
gruntjs - 将 grunt-usemin 与 Mean.io 一起使用(单独的 public/ 和 app/ 文件夹)
我使用 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,所以在我这样做之前我宁愿根本不使用这些插件。
gruntjs - ember 3rd 方组件:链接还是其他?
我想在我的 ember 应用程序中使用 ember-table。我刚刚通过凉亭安装了它。但是,ember 似乎需要将各个部分(例如模板等)放在特定目录中。
我应该只用 ln -s 这些,还是有办法告诉 ember 在 bower_components/ember-table 中搜索?
更新:
通过类比 ember-table 示例应用程序,这个块似乎主要给了我我需要的东西:
事实证明,ember-table 将模板注入到 ember 中,因此它们不需要在模板/组件中。(关于组件的 NB ember 指南可能想讨论如何做到这一点......)
到目前为止,对我来说更大的问题是将引导程序与 ember-table 分开。(子问题:1)有没有办法将 less 转换为 scss,因为 ember-table 是基于较少的?是否有使用 css 命名空间的引导程序版本,以便它不会进行全局更改?)
javascript - Grunt usemin: concatenated JavaScript file not replaced in index.html file
I started with an empty project generated by yeoman, and tried to edit the Gruntfile.js to fit my needs.
The grunt build task reads my index.html file, and concatenates my bower dependencies and generates a .vendor.js file.
I broke something in the workflow, and now usemin does not replace markups in my index.html file, even if the .vendor.js file is generated.
Here is my Gruntfile.js
And here is what is generated when I run grunt:
index.html:
And finaly, here is the grunt output
Any help understanding this would be appreciated.
php - 如何在 PHP 项目中使用 grunt-usemin?
所有关于使用 grunt 和 grunt-usemin 优化网站资产的教程都是基于src -> dist
部署策略的。基本上处理src
文件夹中的项目并将它们编译到dist
文件夹中。
但是 PHP 不是这样工作的。它没有被编译和“分发”。源页面和目标页面相同。这使它成为一个破坏性的过程。
你如何解决这个问题?一般关于在 PHP 项目中使用 Grunt 的任何提示?
谢谢。
json - usemin 不为 $http json 请求中的 revved 图像更新 js
我是 angular 新手,从 generator-angular 开始了一个简单的项目。
一定有一些东西不能与 usemin 和 $http 请求从 json 注入 url。
我能够让 yeoman.png 与缓存破坏一起使用,但由于某种原因,将图像 url 从 $http 请求加载到本地 json 似乎不起作用。
我通过将 '{{project.mainImg}}' 替换为 yeoman.png '{{image}}' 来测试 ng-repeat,并且效果很好。
这只是在运行 grunt build 并创建缓存清除后出现的问题。
gruntfile.js:
控制器:
html:
javascript - 在 Windows 上更正缩小/丑化/revv-ed JS,但在 Linux 上是空文件?
我最近一直在拉我的头发。我有一个 Yeoman 生成的 JekyllRB grunt/bower 设置。该构建在我的 Windows 机器上正常工作,但在自动 Linux 构建机器上却不行。
正确,我的意思是我得到了一个缩小/丑化/修订版的 JQuery
dist/js/50b6.app.js
在运行 Linux 的持续集成构建设置中,我得到一个空的 js 文件:
dist/js/d41d.app.js
我将 Grunt 和所有插件更新到最新版本,但没有成功。分析了我的完整 Gruntfile.js,验证了所有插件的 src 和 dest,并且考虑到平台特定路径分隔符的差异,所有插件看起来都一样。
这是我的 Jekyll 网站的来源链接:site-ringo
angularjs - 在 AngularJS 部分中使用 Usemin
我使用 Yeoman 搭建了一个 AngularJS 项目。我正在使用“rev”任务来帮助确保我的图像、脚本、样式等是唯一标识的。
在我的 AngularJS 应用程序中,我有一个使用 ng-include 指令导入的模板。我的问题是 usemin 正在翻译每个文件中相对于它正在翻译的文件的引用,但是当事物被渲染时,它们被拉入我的 index.html 并且浏览器将事物拉入不同的相对路径。
例如,我有一个目录结构,如下所示:
- 索引.html
- 模板/header.html
- 图片/logo.png
header.html 有时会被拉入 index.html,并引用 images/logo.png。
如果我放入<img src="images/logo.png" />
header.html,它会自行正确加载,但不会被 usemin 翻译。
如果我放入<img src="../images/logo.png" />
header.html,usemin 会找到并翻译它,但一旦 header.html 被拉入 index.html,它就找不到图像。
usemin 文档说:
当引用是相对的时,默认情况下,引用的项目在相对于目标目录中当前文件位置的路径中查找[强调我的]
“默认”语言让我觉得有一种方法可以告诉它相对路径应该相对于当前文件以外的东西,但我没有找到任何文档告诉我如何改变这种行为。
gruntjs - grunt-usemin 会自动更新 build:js 块吗?
我认为当我在一个目录中移动 .js 文件时,grunt-usemin 会更新<!-- build:js({.tmp,app}) scripts/scripts.js -->
块中列出的 .js 文件,但事实并非如此。
我正在使用默认的 Yeoman 设置,并且没有对 Gruntfile.js 进行任何更改
我尝试过 grunt clean,但它似乎只查看 /dist 文件夹。
javascript - 如何使用我自己的选项配置进行 concat 和 uglify 与 grunt-usemin
例如:我uglify
在我的 Gruntfile 中使用下面的当前配置到我的 JS 脚本:
我知道 grunt-usemin从 gruntfile 选项中声明的 html 文件中的代码块生成src和destuseminPrepare
选项,例如:
那么如何配置grunt-usemin
使用这些相同的选项,例如banner
,sourceMap: false
使用生成的文件块,我已经阅读了通常在 github 或 NPM 注册表中给出的快速文档,但似乎没有找到一个可靠的答案。