问题标签 [gruntfile]

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.

0 投票
0 回答
175 浏览

javascript - Yeoman grunt build 和 grunt serve:dist 坏了

我使用 yeoman angular-generator 开始了一个 web 项目,当我运行 grunt serve 时效果很好,但是在使用 grunt build 和 grunt serve:dist 之后,我的项目被破坏了。css 和图像没有显示,我的检查元素显示 $('.foo').masonry() 不是函数。我对 angular、yeoman 和 grunt 很陌生,我真的不知道为什么它在 grunt serve:dist 中被破坏,但在 grunt serve 中效果很好,任何帮助都将不胜感激。

这是我的 index.html,Gruntfile.js 自生成以来没有变化。

我还应该提供其他信息吗?

0 投票
1 回答
212 浏览

debugging - 如何调试 grunt(gruntfile)?

我有一个配置了几个任务的 gruntfile。一些使用功能如:

我想使用警报或 console.log 来调试它,但是每当我尝试运行 grunt 时,它都会告诉我“未定义警报”、“未定义控制台”。

我还能如何调试这个?

0 投票
1 回答
1810 浏览

javascript - Grunt 'grunt-bower-concat',忽略 mainFiles 选项

好遇见!

在过去的几个小时里,我一直试图让mainFiles选项工作,但它似乎忽略了我包含在其中的每个文件。我已经尝试了列表中的多个插件-但没有一个通过。诚然,我对 Grunt 很陌生,但我一直在阅读grunt-bower-concat文档,但那里什么也没有。并且在实际的插件代码中添加了一些控制台日志,显示没有文件被传递(当然之后恢复了文件)。

这是我正在使用的 GruntFile:

Leaflet-Illustrate 已被排除(目前),因为它对实际任务造成严重破坏,如果没有该mainFiles选项,我无法正确包含它。

有没有人可以以正确的方式指导我,或纠正我?提前致谢!

0 投票
0 回答
177 浏览

html - Grunt include-replace string unexpexted token 错误/字符串中的特殊字符

当我将字符串添加到grunt-include-replace包括如下所示时,我在控制台中收到“意外令牌错误”,并且 html 文件无法编译。

我认为特殊字符 <>/#" 存在问题。

如何使这些字符在字符串中起作用?

0 投票
1 回答
97 浏览

javascript - Grunt 启动节点调试服务器后停止输出信息

我的问题与此类似:Grunt won't load the node server

但是,在我的情况下,答案并不能解决问题。这是我的 gruntfile:

当我运行 grunt(忽略 lint 错误)时,我得到:

它就停在那里......通常它会说 MEANjs 应用程序已在 localhost:3000 上启动,当我在浏览器中打开应用程序时,它会显示大量文件,因为它们是通过浏览器请求和加载的。

这是 grunt -v 版本(观看的文件太多,所以为了清晰和简洁我删除了一些):

无论我在浏览器中做什么,这个冗长的输出都会停在这里,之后什么都不做。

该应用程序实际上正在运行(在 localhost:3000 上)并且 livereload 和类似的东西似乎正在运行,但我在终端输出中什么也没看到。这使得调试和弄清楚我的应用程序中正在加载/未加载的内容变得非常困难。

关于发生了什么的任何想法?

** 作为旁注,我最近必须重新安装 Node 和 npm,不确定是否与它有关

提前致谢

0 投票
1 回答
227 浏览

angularjs - 简单的 AngularJS 应用程序:在 Gruntfile.js 中显示错误

$ grunt connect:development:keepalive

错误:

运行“connect:development:keepalive”(连接)任务

警告:未定义不是函数使用 --force 继续。

由于警告而中止。

我目前正在从Professional AngularJS (wrox)AngularJS一书中学习,这是书中的基本代码:

app/index.html

app/main.less

app/app.js

Gruntfile.js

.bowerrc

这些是本书为这个应用程序提供的所有代码。此外,正如本书所要求的,我从终端在根文件夹上运行了这些命令:

sudo npm install -g bower

sudo npm install -g grunt-cli

sudo npm install --save-dev grunt

sudo npm install --save-dev load-grunt-tasks

sudo npm install --save-dev grunt-contrib-connect

sudo npm install --save-dev grunt-contrib-jshint

sudo npm install --save-dev grunt-contrib-less

sudo npm install --save-dev grunt-contrib-watch

sudo npm install -g less

lessc app/main.less > app/main.css

grunt less

我不得不使用sudo,否则它会抛出错误:

请尝试以 root/管理员身份再次运行此命令。

根据这本书,如果我grunt connect:development:keepalive从终端运行,那么我的浏览器应该会随着应用程序的运行而启动。但是给了我上面提到的错误。

请帮助我解决这种情况,因为我不知道我做错了什么。这就是我包含所有代码的原因。我对这些工具和技术非常陌生,我什至不确定是否应该按照这本书来学习 AngularJS。

谢谢你。

编辑:

由于我使用的是 WebStorm IDE,因此它在行中向我显示了一个Gruntfile.js问题connect.static('app')。它说Unresolved function or method static()当我将鼠标悬停在它上面时。

0 投票
1 回答
300 浏览

angularjs - Grunt-Karma-Jasmine:找不到模块

我正在尝试为我的 Angular.js 项目设置测试,但我不断收到“$injector:nomod, Module 'result' is not available!你要么拼错了......”错误。我确定我在“karma.config.js”内的“files”数组中包含“result”模块,基本上它看起来像这样:

...

我最初认为主模块的顺序:'simulator'(在 'simulator.js' 文件中定义)是错误的,所以我专门将它向上移动,在其他模块之前,如以下 stackoverflow 线程推荐:

Angular 模块在 Karma Jasmine 测试运行中不可用

它没有帮助。然后我尝试确保文件的导入顺序与我的 Angular 应用程序的主入口文件中的顺序相同(angular-mocks.js 和 qa/tests-*.js 除外),导入每个文件,而不是使用通配符,但没有成功。

Jasmine 确实进入了测试文件,但偶然发现了我试图导入模块“结果”的行:

所以,我看到错误发生在两个 console.log() 语句之间。

我怀疑我的文件在“karma.config.js”中的数组“files”中的排序仍然有问题。我有依赖于其他模块的主模块“模拟器”:

模块'newexp2'、'newexp'、'login'、'edit'、'exps'、'result'、'templates'都依赖于模块'commons'。

如何在“文件”数组中正确导入相互依赖的模块?将“simulator.js”,主模块放在所有其他模块之上是否就足够了,或者我还需要将所有其他模块放在“commons.js”之前?

我的另一个怀疑是我从官方 angular 网站“angular-mocks.js”下载的 angular.js 库版本可能与我正在使用的其他模块不兼容。我以前对“angular-animate.js”文件有过这样的问题。

只要我用我的测试代码包围$(function(){...})(并且我的所有其他模块都被它包围)它在导入模块时不会产生错误result,所以我开始看到两个console.log()语句之间没有错误,但是,这会产生一些未知完全阻止我调用该it部分的错误,而当我没有用 包围它时$(function(){...}),将it调用测试,但模块result导入失败。

到目前为止,我几乎被卡住了,不知道该去哪里以及该尝试什么。任何建议将不胜感激。

0 投票
1 回答
35 浏览

bower - Grunt 和 bower 自动依赖

我正在为我的网络应用程序使用 bower 和 grunt,到目前为止,我在尝试将资源导入 dist/ 目录时遇到了一些问题。我正在使用材料设计图标,但我只需要其中的几个。到目前为止,我唯一的机会就是手动告诉 grunt 在复制任务中要复制什么。有没有办法只为使用的资源自动完成这项工作?

0 投票
1 回答
188 浏览

gruntjs - 使用 gruntfile-gtx 时我在哪里放置插件的配置

所以,我已经安装了基于 npm/bower/grunt/angular.js 的单页应用程序

在根目录中,我有 gruntfile.js 和这段代码

所以现在我必须从这里安装 grunt-cache-bust 插件https://github.com/hollandben/grunt-cache-bust

我用 npm 安装了它,现在我不知道在哪里为此编写任务。

请告诉我或给我一个链接以正确理解它

0 投票
2 回答
22972 浏览

node.js - 更改 localhost web app express 的名称?

我正在开发一个项目,我需要将项目名称从 localhost:9000 更改为 someothername:9000,这是在我的开发环境中,而不是在生产环境中。

我得到了项目文件,而那个人(不再在这里)使用了 express.js。我已经搜索并搜索了这个问题的答案,但我无法弄清楚。

那么,是否可以使用 express.js 或更新 gruntfile 将 localhost:9000 的名称更改为 someothername:9000 ?我知道我可以更改计算机上的 localhost 设置,但我需要有一个通过 Web 应用程序出现的别名。

我准备把头发扯掉。:(