Articles of gruntjs

在JavaScript美化/皮棉空白

我想lint(甚至自动)美化JavaScript中的空格。 问题是,是否有任何工具可以做到这一点。 我知道JSLint和JSHint,例如,可以检查缩进和尾随空格,这是好的,但这些不是唯一的空白你可能有。 我想要检查的是: 在某些结构之前或之后是否有空行? 是否有不止一个空行? 某些东西之间是单个空格(这是通过JSLint / JSHint部分检查的)? … 基本上,我想拥有一些像Visual Studio plus Resharper这样的现代化IDE,但是作为一个可以embedded到Grunt中的命令行工具。 我发现的唯一的东西在这个方向是esformatter ,但根据它的网站 仍处于早期发展阶段,缺less对许多重要function的支持。 如果有更成熟的东西,那当然会好的。 有任何想法吗?

需要grunt @> = 0.4.0的同伴

为什么我会得到下面的错误? 我的咕噜版本是> v0.4.0 npm install grunt-contrib-concat –save-dev + – UNMET PEER DEPENDENCY grunt @> = 0.4.0 错误消息: …项目\ Hartz \ Hartz> npm install grunt-contrib-concat –save-dev Hartz@1.0.0 C:.. \ Projects \ Hartz \ Hartz + – UNMET PEER DEPENDENCY grunt @> = 0.4.0` – grunt-contrib-concat@1.0.1 npm WARN grunt-contrib-jshint@1.0.0需要grunt @> = 0.4.0,但没有安装。 npm WARN grunt-contrib-concat@1.0.1需要grunt @> = […]

使用grunt-browserify(> 2.0.2)作为转换工具很难获得browserify-shim

在grunt-browserify 2.0.2版本中, browserify-shim已经从模块本身中被移除,并被转换为一个transform ,而不是在grunt-browserify任务上的一个简单的option 。 用grunt-browserify使用垫片的旧版本看起来是这样的: 'libs-dev': { src: [path.join('<%= config.dirs.browserLibs %>', 'angular', 'angular.js')], dest: path.join('<%= config.dirs.dest.dev %>', 'js', 'libs.js'), options: { shim: { angular: { path: path.join('<%= config.dirs.browserLibs %>', 'angular', 'angular.js'), exports: 'angular' } } } } 这工作得很好,并围绕libs.js模块生成一个包装,如下libs.js : require=(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var […]

如何用Grunt指定文件顺序?

我刚开始使用Grunt ,并试图获取concat任务,以特定的顺序连接我的文件。 这是我得到的: module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { options: { separator: ';' }, dist: { src: ['www/js/*.js','www/js/main.js','!**/*.{min,pack}.js','!<%= concat.dist.dest %>','!<%= uglify.dist %>'], dest: 'www/js/<%= pkg.name %>.js' } }, 我希望通过把www/js/main.js第二位,它会把文件移到列表的底部,但是看起来并不是这样。 我怎样才能在它匹配的文件列表上施加一些命令?

如何使用grunt将编译的jade文件复制到目标文件夹

对于我正在处理的单页应用程序,我有以下结构: DIST CSS JS LIB 谐音 的index.html SRC CSS JS LIB 意见 谐音 index.jade 目录dist将被快递服务器用来为项目服务。 我使用grunt-contrib-clean , grunt-contrib-copy来清理dist并将src / css , src / js , src / lib复制到dist 。 问题在于src / views 。 这个目录包含需要被编​​译成html文件的jade文件。 编译后,我想要他们dist (index.html中的dist根,partials作为子目录)。 目前我正在使用grunt-contrib-jade任务来编译和复制玉文件。 我想将它们复制到dist,因为我不想将编译的html文件添加到源代码pipe理。 但现在这是不可行的,因为你必须指定每个翡翠文件(现在只有less数,但会增长): jade: { compile: { options: { pretty: true }, files: { // TODO make one line […]

Grunt-mocha-test Xunit记者将整个控制台输出写入到xunit文件中

我正在使用grunt-mocha-test来运行我们的摩卡testing。 我希望能够运行testing并生成xunit报告并获得覆盖(使用blanket.js)。 我有我的gruntfile中的以下部分: mochaTest: { 'unit-jenkins': { options: { reporter: 'XUnit', require: paths.test + '/blanket', captureFile: paths.tmp + '/xunit.xml' }, src: [paths.test + '/unit/**/*.js'], }, 'integration-jenkins': { options: { reporter: 'XUnit', require: paths.test + '/blanket', captureFile: paths.tmp + '/xunit.xml' }, src: [paths.test + '/integration/**/*.js'] }, coverage: { options: { reporter: 'html-cov', quiet: true, captureFile: paths.tmp […]

如何确保使用Grunt正确处理远程@import

我使用Grunt来构build我的项目和cssmin任务。 我的CSS文件包含一个远程@import语句和grunt build返回一个警告: Running "cssmin:generated" (cssmin) task >> Ignoring remote @import of "http://fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic" as no callback given.,Ignoring remote @import of "http://fonts.googleapis.com/css?family=Maven+Pro:500" as no callback given. >> 2 files created. 322.48 kB → 249.05 kB 我在clean-css库文档中find了以下信息: 为了内联远程@import语句,你需要提供一个callback方法,比如: var CleanCSS = require('clean-css'); var source = '@import url(http://path/to/remote/styles);'; new CleanCSS().minify(source, function (errors, minified) { // minified.styles }); 这是由于一个事实,即虽然可以同步读取本地文件,但只能asynchronous处理远程资源。 […]

运行Grunt时,path.resolve的参数必须是string

我的Grunt文件: module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), ts: { dev: { src: ["src/background/*.ts"], out: ["build/background.js"], } } }); grunt.loadNpmTasks("grunt-ts"); grunt.registerTask("default", ["ts:dev"]); }; (我正在使用grunt-ts 。) 系统信息 Windows 8.1 NodeJS v0.10.24 grunt-cli v0.1.11 grunt v0.4.2 我已经search了互联网,发现有关这个错误的许多资源,但他们都说,应该升级NodeJS和/或Grunt。 我已经试过了。 我甚至完全重新安装了Grunt,但是,错误依然存在。 完整的错误信息: P:\my-folder>grunt ts Running "ts:dev" (ts) task Warning: Arguments to path.resolve must be strings Use –force to continue […]

错误:无法find模块的时间咕噜声

我尝试安装时间咕噜本地和全球,清除npmcaching,更新npm,但没有什么帮助。 我得到: Loading "Gruntfile.js" tasks…ERROR Error: Cannot find module 'time-grunt' Warning: Task "default" not found. Use –force to continue. 我的版本od包:节点:'0.10.31',npm:'1.4.23' 运行后:npm install –save-dev在package.json状态下的时间咕噜声: "devDependencies": { "grunt": "^0.4.5", … "time-grunt": "^1.0.0" } 这是我的grunfile.js的一部分: module.exports = function( grunt ) { require('time-grunt')(grunt); grunt.initConfig({ // grunt tasks here }); // load tasks here // register task here } 其他咕噜任务运行没有错误。 […]

如何停止Grunt

这个问题对某些人来说可能是显而易见的,但是我在互联网上search,找不到答案。 我正在关注Strut的安装指南。 如何停止Grunt任务? 我正在运行Windows 7。