Articles of gruntjs

如何将全局/公共variables添加到grunt-contrib-uglify输出

好的,所以我对Grunt和Node.js是新的。 我正在build立一个网站,并决定'main.js'文件变得太大了。 所以,我把它分开,现在我正在尝试使用Grunt将所有这些JS文件重新组合在一起。 我的问题是,我需要使所有这些JS文件中的所有function都可用的全局variables。 更具体地说,我们网站上的每个页面都通过body标签中的id来标识: <body id="home"> 这些JS文件中的许多包含if语句,这些语句确保某些函数只在加载了相应的页面时才运行。 例如: if (page == 'home') { var title = "Home Page" $('.page-title').text(title); } 注意pagevariables? 那个人是我需要提供给所有这些文件(grunt-contrib-uglify合并在一起之后)的人。 所以,我想我会分配一个新的“唯一”的variables名称,并使其全球。 我注意到, grunt-contrib-uglify在其文档中列出了一个' wrap '选项。 然而,没有例子给出如何使用它。 任何人都可以告诉我: – 如何使用'grunt-contrib-uglify'中的'wrap'选项 – 如果这是我正在尝试做的正确的grunt插件? 我有一个想法(作为最后的手段)是创build一个before.js和after.js ,把我想要包装其他文件的开始和结束(分别)。 但是,我认为“包装”选项是我需要的,是的? 更新:这是一个链接到我的“合并”JS文件: main.js 并链接到我的Gruntfile: Gruntfile.js

没有find突然的Grunt任务

我被这个难住了 我现在通过CLI和WebStorm使用Grunt一段时间。 今天我正在通过WebStorm Grunt面板运行一些手动Grunt任务,神奇的是,似乎发生了一些事情,我无法再在这个项目上运行任何任务(无论是通过WebStorm还是命令行)。 我已经尝试了一切,从重新安装grunt / grunt-cli,重新启动我的电脑,缩短grunt文件无济于事。 下面是一个带有问题输出的超级缩写Gruntfile.js。 任何想法可能发生的事情,以及如何恢复我的build设环境,非常感谢! Carlos@XPS8500 ~/git/Test $ cat Gruntfile.js 'use strict'; module.exports = function (grunt) { require('load-grunt-tasks')(grunt); grunt.initConfig({ copy: { dist: { files: [ { expand: true, cwd: '.', src: 'package.json', dest: 'package.xxx' } ] } } }); grunt.registerTask('test', 'Test', function(){ grunt.task.run('copy:dist'); }); }; Carlos@XPS8500 ~/git/Test $ grunt –verbose test […]

停止Grunt Watch破解代码错误

我正在使用grunt-contrib-watch任务。 我想知道是否是阻止观察者破解代码错误的一种方法? 这是为了加快我的工作stream程,因为重启构build和观察任务需要21秒。

grunt-contrib-connect代理给出错误500.如何debugging?

我想代理http:// localhost:9000 / images和http:// localhost:9000 / rest到https:// remotehost / images和https:// remotehost / rest,但是我得到两个错误500。 我究竟做错了什么? 如何debugging呢? 这是我的configuration: connect: { options: { port: 9000, // Change this to '0.0.0.0' to access the server from outside. hostname: 'localhost', livereload: 35729 }, proxies: [ { context: '/images', host: remotehost, port: 443, https: true, changeOrigin: true, xforward: false, rejectUnauthorized: false […]

Grunt监视任务直到第一个输出到控制台才开始

我的任务configuration工作正常,但我有一个恼人的问题,监视任务不开始监视,除非我刷新页面或添加一行控制台输出。 所以通常我应该得到: Running "watch" task Waiting… 但是直到输出到控制台,我才明白。 这是一个错误? 我的configuration是: module.exports = function(grunt) { grunt.initConfig({ concat: { options: { separator: '\n\n' }, dev: { src: ['ng_app/app.js', 'ng_app/**/*.js'], dest: 'public/js/app.js' } }, less: { dev: { files: [ { expand: true, cwd: 'styles', src: ['*.less', '!mixins.less', '!var.less'], dest: 'public/css/', ext: '.css' }, { expand: true, cwd: 'styles/views', […]

Grunt从sass输出

我在OS X上通过PHPStorm 8的terminal运行。 我只是做了一个新的node.js和凉亭和咕噜安装。 我已经在另外两台OS X机器上完成了这个任务,没有任何麻烦。 由于某些原因,grunt正在编译我的SCSS文件到: [object Object] 它可以在我的台式机和其他笔记本电脑上运行,运行所有相同的版本。

咕噜生成和服务相对path不匹配

我有一个典型的目录结构设置我的angular应用程序。 我在应用程序目录中也有一个git子模块: app submod submod.js submod.css bower_components dist node_modules bower.json Gruntfile.js package.json … 我的index.html是为grunt build任务设置的。 一切工作正常,除了子模块文件,因为path导致问题。 如果我把“应用程序”放在path中,构build会正常工作: <!– build:css(.) styles/vendor.css –> <!– bower:css –> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" /> <!– … –> <!– endbower –> <link rel="stylesheet" href="app/submod/submod.css" /> <!– endbuild –> 但是,使用grunt serve在本地运行应用程序将不起作用,除非我从path中删除应用程序: <!– build:css(.) styles/vendor.css –> <!– bower:css –> <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" /> <!– […]

-bash:grunt:找不到命令

我正在使用节点0.10.35和grunt命令工作正常。 现在升级到0.12.3之后grunt命令已经停止工作。 OS:Mac OSX 10.10.1节点:0.12.3 npm:2.9.1 grunt:0.4.5 我以为在节点安装中可能会有问题,所以我干净地安装了它3-4次 我试着用 – 节点v0.12.3.pkg 节点版本pipe理器(nvm) 针对这些问题的许多解决scheme都build议使用npm install -g grunt-cli 然后使用npm install来安装本地节点模块。 我遵循该程序,但我得到同样的错误。

Grunt – 在dev中编译并导入单独的sass,但在编译时连接它们

所以我有一个包含许多scss文件的文件夹。 我曾经把@import全部导入一个大的main.scss文件。 但随着时间的推移,文件变大了,整个文件重新编译之后,现在需要20多秒才能看到变化的结果。 我想使用Grunt来观察scss文件,只重新编译一个已经改变的文件,然后用grunt serve刷新页面。 在dev中,html页面应该包含与scss文件一样多的<link>标签。 在prod中,我想能够将它们连接成一个类似grunt build main.css文件 此外,请注意,我有一些variables.scss文件,可能在任何部分中使用。 所以他们也应该可以访问这些variables。 我不知道从哪里开始。 任何帮助将非常感激。

grunt-contrib-concat concat目标源映射选项不工作(windows)

在运行grunt concat时,控制台会说我的源映射是创build的,但是源映射在我的文件系统上不存在。 我的Gruntfile中的插件configuration: grunt.config('concat',{ scripts: { src: [ grunt.config.get('pkg.src') + '/scripts/vendor/underscore*.js', grunt.config.get('pkg.src') + '/scripts/vendor/jquery*.js', grunt.config.get('pkg.src') + '/scripts/vendor/angular-*.js', grunt.config.get('pkg.src') + '/scripts/vendor/*.js', grunt.config.get('pkg.src') + '/scripts/source/main.js', grunt.config.get('pkg.src') + '/scripts/source/services/httpHelper.js', grunt.config.get('pkg.src') + '/scripts/source/**/*.js' ], dest: 'static/server/scripts/app.js', options: { sourceMap: true } }, styles: { src: [ grunt.config.get('pkg.src') + '/styles/vendor/**/*.css', grunt.config.get('pkg.src') + '/styles/source/**/*.css' ], dest: 'static/server/styles/app.css' }, }); 控制台输出: C:\workspace\someproject>grunt […]