Articles of gruntjs

dynamic更新Gruntconfiguration字段

我在单独的目录中有几个项目,并希望以相同的方式构build它们。 我想从任务中定义项目名称(作为参数)。 Grunt任务将使用此项目path作为根path。 但我有几个子文件夹,不想手动更新,我只是想更新项目。 有这个机会吗? grunt.initConfig({ paths : { project : null, projectStylesheets : '<%= paths.project %>/stylesheets', // … } }); grunt.registerTask('server', function(project) { // -> project = 'some_name' var paths = grunt.config.get('paths'); paths.project = project; grunt.config.set('paths', paths); // -> { project: 'some_name', projectAssets: 'stylesheets' } }); 我想在他的configuration外使用JS函数,但不知道这是最好的做法。

Grunt:致命错误:观看EPERM

你可以在这里查看/克隆完整的代码: https : //github.com/mlewisTW/grunt-tests 我想看看 src目录(缩小,concat,less等),它把一切都放到build目录。 我也想看看生成目录,以便生活。 这是手表configuration代码片段: watch: { options: { livereload: false }, build: { files: ['<%= srcDir %>/**/*'], tasks: 'build' }, reload: { files: ['<%= buildDir %>/**/*'], options: { livereload: true } } }, 我在Windows 8上。我遇到了一个Fatal error: watch EPERM当我更改文件时Fatal error: watch EPERM ,并开始build任务的第一步(清理)。 我猜这与我试图删除一个观察目录的事实有关。 有什么方法可以在构build时closureslivereload watch任务,然后在完成时重新启动它? 有另外一个/更好的方法来做到这一点?

Grunt代码覆盖不起作用

我有下面这个运行mochatesting的grunt文件OK(运行grunt.js后我得到testing结果)现在我想添加一个代码,并使用https://github.com/taichi/grunt-istanbul模块。 但是当我运行grunt.js什么也没有发生,有什么想法? 我想要的只是之后,摩卡testing正在运行它将运行代码覆盖与一些报告 ? 任何新的代码覆盖将是伟大的 这是我的项目结构 myApp -server.js -app.js -test -test1.spec -test2.spec -test-reports -grunt.js -utils -file1.js -file2.js -controller -file1.js -file2.js 这是我尝试过的咕噜声中的代码 module.exports = function (grunt) { var path = require('path'); process.env.RESOURCE_PATH_PREFIX = "../"; var d = new Date(); var datestring = d.getDate() + "-" + (d.getMonth() + 1) + "-" + d.getFullYear() + " " […]

Yeoman Angular.js grunt serve-d应用从livereload.js有很长的延迟?snipver = 1

我遵循Yeoman的指导来设置一个Angular.js应用程序。 除了从“localhost”到“0.0.0.0”的主机名之外, 我没有任何改变 。 当我做了grunt serve ,没有错误。 最后,我确实看到了Allo,Allo的首页,但是只有在livereload.js?snipver = 1的延迟超过30秒之后,才能获得GET。 正如你所看到的,服务器不会输出任何exception的东西。 我的整个项目在github上 。 我希望能够重新加载,并发现了一些嫌疑犯: /node_modules/grunt-contrib-connect/node_modules/connect-livereload/index.js有以下两个包含livereload url的函数。 第一个链接到“ http://my.ip.addr.ess:9000 / livereload.js ”,它有一个“无法获得”。 function getSnippet() { /*jshint quotmark:false */ var snippet = [ "<!– livereload script –>", "<script type=\"text/javascript\">document.write('<script src=\"http://'", " + (location.host || 'localhost').split(':')[0]", " + ':" + port + "/livereload.js?snipver=1\" type=\"text/javascript\"><\\/ script>')", "</script>", "" ].join('\n'); […]

grunt.jsconfiguration中常见configuration选项的inheritance

人们如何处理Grunt中的多个项目的常见configuration选项。 这些项目将共享一些常见的configuration选项,例如min ,但也有每个项目的私人或自定义configuration设置,例如,三个项目中只有一个需要less或有不同的选项。 有没有办法在项目之间共享这种通用configuration,使用inheritance或导入现有文件,还是每个项目都必须定义所有设置? 我所指的项目将驻留在目录层次结构中 root module1 grunt.js module2 grunt.js module3 grunt.js 有什么方法可以在root级别提供常见的configuration设置吗?

无法在目录中运行程序“npm”

当我遍历到src/main/app/文件夹结构,我有package.JSON &gruntfile,我能够运行npm install和grunt命令。 但是当我试图运行mvn jetty:run和项目的根文件夹中的一个属性文件当POM文件存在时,它将引发错误,它不能运行npm install在文件夹结构src/main/app/ 。 这是确切的错误: [INFO] ———————————————————————— [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (n pminstall) on project my-abc-web: Command execution failed. Cannot run program "npm" (in directory "C:\Users\Achyut_J01\Documents\GitHub\infras\my-abc\my-abc-web\src\main\app"): CreatePro cess error=2, The system cannot find the file specified -> [Help 1] 这是一个Windows机器。

grunt-bower-install:排除某些组件

我刚刚使用angular-fullstack yeoman生成器创build了一个新的webapp。 我注意到,grunt-bower-install在<!– bower:js –>标记之间的index.html文件中生成了JS bower组件。 <!– bower:js –> <script src="bower_components/jquery/dist/jquery.js"></script> <script src="bower_components/angular/angular.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/affix.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/alert.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/button.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/carousel.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/collapse.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/dropdown.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/tab.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/transition.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/scrollspy.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/modal.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/tooltip.js"></script> <script src="bower_components/bootstrap-sass-official/vendor/assets/javascripts/bootstrap/popover.js"></script> <script src="bower_components/angular-resource/angular-resource.js"></script> <script src="bower_components/angular-cookies/angular-cookies.js"></script> <script src="bower_components/angular-sanitize/angular-sanitize.js"></script> <script src="bower_components/angular-route/angular-route.js"></script> <!– endbower –> 我如何排除某些引导组件?

Nuget软件包具有“恢复软件包的构build”function,有什么function,有什么function或节点

我有我的客户\ app文件夹中的bower_components (8MB)。 我有客户端文件夹中的node_modules文件夹(72MB)。 我的免费Subversion托pipe只有50 MB。 这通常应该不是一个没有上传二进制文件,软件包等的问题,只是源代码。 就像nuget软件包一样,我不会将它们提交给颠覆。 因为他们花费太多的空间。 但nuget软件包pipe理器提供了一个名为“在构build时恢复nuget包”的function当我的Visual Studio中启用了此function时,创build了一个.nuget.exe (1.5MB)这个.exe文件我确实承诺使其可用于其他开发人员他们还可以在重build他们下载的解决scheme时恢复nuget软件包。 bower_components和node_modules是否有类似的机制? 我的意思是有node_modules的package.json ,而node_modules在文件夹结构的上一级有bower.json 。 如果不知何故,当其他人检查我的源代码从颠覆(没有node_modules或bower_components只是bower_components文件),可能grunt机制正在运行一个恢复任务node_modules和bower_components 那在某种程度上是可能的还是在我面前已经存在一个解决scheme:P?

带有旁路代理的Webpack-dev-server

如何使用webpack-dev-server实现“代理”(类似于grunt-connect-proxy )选项? 我正在使用Grunt使用webpack和webpack-dev-server 。 Gruntfile.js中的一个任务(下面的代码)能够在端口8080上启动服务器。我想为所有后端数据请求(上下文URL / ajax / *)添加代理设置。 "webpack-dev-server": { options: { webpack: webpackConfig, publicPath: "/src/assets" }, start: { keepAlive: true, watch: true } }

致命错误:无法findGruntfile

咕噜 – 版本 grunt-cli v0.1.8 grunt v0.4.1 $ npm -v 1.2.18 $ node -v v0.10.6 当我运行grunt init创buildGruntfile.js ,出现错误: $ grunt init A valid Gruntfile could not be found. Please see the getting started guide for more information on how to configure grunt: http://gruntjs.com/getting-started Fatal error: Unable to find Gruntfile. 我search了Grunfile.js,我得到: /home/ka/.npm/grunt-cli/0.1.8/package/Gruntfile.js /home/ka/tmp/npm-1464/1368671910572-0.38816986070014536/package/Gruntfile.js /usr/local/lib/node_modules/grunt/Gruntfile.js /usr/local/lib/node_modules/grunt/node_modules/findup-sync/Gruntfile.js /usr/local/lib/node_modules/grunt-cli/Gruntfile.js […]