问题标签 [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.
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 自生成以来没有变化。
我还应该提供其他信息吗?
debugging - 如何调试 grunt(gruntfile)?
我有一个配置了几个任务的 gruntfile。一些使用功能如:
我想使用警报或 console.log 来调试它,但是每当我尝试运行 grunt 时,它都会告诉我“未定义警报”、“未定义控制台”。
我还能如何调试这个?
javascript - Grunt 'grunt-bower-concat',忽略 mainFiles 选项
好遇见!
在过去的几个小时里,我一直试图让mainFiles
选项工作,但它似乎忽略了我包含在其中的每个文件。我已经尝试了列表中的多个插件-但没有一个通过。诚然,我对 Grunt 很陌生,但我一直在阅读grunt-bower-concat
文档,但那里什么也没有。并且在实际的插件代码中添加了一些控制台日志,显示没有文件被传递(当然之后恢复了文件)。
这是我正在使用的 GruntFile:
Leaflet-Illustrate 已被排除(目前),因为它对实际任务造成严重破坏,如果没有该mainFiles
选项,我无法正确包含它。
有没有人可以以正确的方式指导我,或纠正我?提前致谢!
html - Grunt include-replace string unexpexted token 错误/字符串中的特殊字符
当我将字符串添加到grunt-include-replace包括如下所示时,我在控制台中收到“意外令牌错误”,并且 html 文件无法编译。
我认为特殊字符 <>/#" 存在问题。
如何使这些字符在字符串中起作用?
javascript - Grunt 启动节点调试服务器后停止输出信息
我的问题与此类似:Grunt won't load the node server
但是,在我的情况下,答案并不能解决问题。这是我的 gruntfile:
当我运行 grunt(忽略 lint 错误)时,我得到:
它就停在那里......通常它会说 MEANjs 应用程序已在 localhost:3000 上启动,当我在浏览器中打开应用程序时,它会显示大量文件,因为它们是通过浏览器请求和加载的。
这是 grunt -v 版本(观看的文件太多,所以为了清晰和简洁我删除了一些):
无论我在浏览器中做什么,这个冗长的输出都会停在这里,之后什么都不做。
该应用程序实际上正在运行(在 localhost:3000 上)并且 livereload 和类似的东西似乎正在运行,但我在终端输出中什么也没看到。这使得调试和弄清楚我的应用程序中正在加载/未加载的内容变得非常困难。
关于发生了什么的任何想法?
** 作为旁注,我最近必须重新安装 Node 和 npm,不确定是否与它有关
提前致谢
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()
当我将鼠标悬停在它上面时。
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
导入失败。
到目前为止,我几乎被卡住了,不知道该去哪里以及该尝试什么。任何建议将不胜感激。
bower - Grunt 和 bower 自动依赖
我正在为我的网络应用程序使用 bower 和 grunt,到目前为止,我在尝试将资源导入 dist/ 目录时遇到了一些问题。我正在使用材料设计图标,但我只需要其中的几个。到目前为止,我唯一的机会就是手动告诉 grunt 在复制任务中要复制什么。有没有办法只为使用的资源自动完成这项工作?
gruntjs - 使用 gruntfile-gtx 时我在哪里放置插件的配置
所以,我已经安装了基于 npm/bower/grunt/angular.js 的单页应用程序
在根目录中,我有 gruntfile.js 和这段代码
所以现在我必须从这里安装 grunt-cache-bust 插件https://github.com/hollandben/grunt-cache-bust
我用 npm 安装了它,现在我不知道在哪里为此编写任务。
请告诉我或给我一个链接以正确理解它
node.js - 更改 localhost web app express 的名称?
我正在开发一个项目,我需要将项目名称从 localhost:9000 更改为 someothername:9000,这是在我的开发环境中,而不是在生产环境中。
我得到了项目文件,而那个人(不再在这里)使用了 express.js。我已经搜索并搜索了这个问题的答案,但我无法弄清楚。
那么,是否可以使用 express.js 或更新 gruntfile 将 localhost:9000 的名称更改为 someothername:9000 ?我知道我可以更改计算机上的 localhost 设置,但我需要有一个通过 Web 应用程序出现的别名。
我准备把头发扯掉。:(