Tag: grunt contrib watch

观察,重新编译并重新启动

我一直在寻找一种使用Grunt的手表模块来执行文件更改时执行几个步骤的方法的示例。 我还没有find这方面的一个很好的例子,所以如果有人能指出我会朝着正确的方向发展。 build立TypeScript项目(我有这个工作) 监视文件更改的目录(这也适用) 开始在节点进程中运行编译的JavaScript,同时还在监视文件的变化(通过Grunt来完成这个工作的最好方法是什么?手表模块好像启动了重新编译的任务) 在文件更改时,停止其他正在运行的进程,重新编译,并在完成时重新启动。 继续关注变化(不知道这个 – 重启是棘手的部分!) 我已经尝试了一些不同的方法,比如用Grunt启动一个subprocess,但是我总是以悬挂进程,locking端口,误导STDIO或其他问题结束。 如果Grunt进程退出,我希望subprocess被杀死。 有没有一个好办法来处理这个问题? 谢谢!

在Windows中与NPM和node-gyp一起出现故障

我在我的Windows工作站上有npm包的麻烦…我的package.json文件中有一组NPM依赖关系: “devDependencies”:{ “babel-plugin-transform-react-jsx”:“^ 6.2.0”, “babel-preset-es2015”:“^ 6.1.18”, “babel-preset-react”:“^ 6.1.18”, “grunt”:“^ 0.4.5”, “grunt-babel”:“^ 6.0.0”, “grunt-contrib-connect”:“^ 0.11.2”, “grunt-contrib-jasmine”:“^ 0.9.2”, “grunt-contrib-sass”:“^ 0.9.2”, “grunt-contrib-watch”:“^ 0.6.1”, “grunt-exec”:“^ 0.4.6”, “grunt-template-jasmine-requirejs”:“^ 0.2.3”, “karma-chrome-launcher”:“^ 0.2.2”, “karma-firefox-launcher”:“^ 0.1.7”, “karma-requirejs”:“^ 0.2.2”, “requirejs”:“^ 2.1.22”, “grunt-contrib-jshint”:“^ 0.11.3”, “grunt-karma”:“^ 0.12.1”, “业力”:“^ 0.13.15”, “业力 – 茉莉”:“^ 0.3.6”, “karma-phantomjs-launcher”:“^ 0.2.1” } 而当我试图运行npm install我得到了与node-gyp \msbuild.exe包相关的奇怪错误,像\msbuild.exe 。 这是错误: c:\ Users \ dmytro.medvid \ […]

Grunt-contrib-connect:如何在指定的浏览器中启动服务器

我对于凉亭 / 咕噜 / 野人环境来说是相当新颖的。 我试图自定义由默认的yeoman Webapp生成器生成的应用程序。 基本上,当我启动grunt serve ,默认浏览器将会启动,打开grunt服务器提供的URL。 我想指定在哪个浏览器应该打开Web应用程序,但我没有运气。 这些是gruntfile中连接任务(使用grunt-contrib-connect )的默认选项: connect: { options: { port: 9000, open: true, livereload: 35729, // Change this to '0.0.0.0' to access the server from outside hostname: 'localhost', } 我试图添加字段appName: 'Firefox'但我认为这不是我正在寻找。 我想应用程序名是用来指定如何从命令行(例如open命令)的默认浏览器,是吗? 是否有可能在grunt-contrib-connect中指定浏览器或根本不指定? 如果不是我该如何完成这个任务? 也许用grunt-open ? 谢谢

Grunt并发任务不输出

我想我的基于Grunt的安装程序同时运行“testing”(即unit testing)和“服务器”(即Web服务器),以便我可以做grunt testAndServer来运行两者文件被改变)在同一个terminal。 代码(大部分是基于yo angular支架): // in initConfig: concurrent: { testAndWebServer: [ 'karma', 'watch' ] }, 然后 grunt.registerTask('testAndServer', function (target) { if (target === 'dist') { return grunt.task.run(['build', 'open', 'connect:dist:keepalive']); } grunt.task.run([ 'clean:server', 'concurrent:server', 'autoprefixer', 'compass', 'connect:livereload', 'open', 'concurrent:testAndWebServer' ]); }); 这实际上工作,但我没有得到任何输出在terminal(PowerShell)窗口。 我想karma任务显示testing的结果。 我怎么能实现这个目标? 我在一台四核机器上运行Windows 7上的Node.js v0.10.20。

Grunt任务退出总线错误:10

我正在使用下面的JSHint Grunt任务,这是传递好的: jshint: { options: { ignores: ['js/characters/**/*.js','js/libs/**/*.js','js/text.js','js/video.js'], predef: ['define', 'require'], reporter: require('jshint-stylish'), curly: true, eqnull: true, eqeqeq: true, undef: false, }, all: ['js/**/*.js'], } 我正在尝试将其configuration为在监视任务中工作: watch: { scripts: { files: ['<%= jshint.all %>'], ignores: ['js/characters/**/*.js','js/libs/**/*.js','js/text.js','js/video.js'], tasks: ['jshint'] }, css: { files: ['**/*.sass'], tasks: ['compass'], options: { livereload: true, } } } 但每次我改变一个JS文件,手表退出Bus error: 10

Grunt-contrib-watch没有看到新的文件

我做了这样的Gruntfile.js: 'use strict'; module.exports = function (grunt) { grunt.loadNpmTasks('grunt-favicons'); grunt.loadNpmTasks('grunt-contrib-imagemin'); grunt.loadNpmTasks('grunt-bake'); grunt.loadNpmTasks('grunt-contrib-htmlmin'); grunt.loadNpmTasks('grunt-contrib-less'); grunt.loadNpmTasks('grunt-autoprefixer'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-cwebp'); grunt.loadNpmTasks('grunt-responsive-images'); grunt.loadNpmTasks('grunt-retinafy'); grunt.loadNpmTasks('grunt-spritesmith'); grunt.loadNpmTasks('grunt-notify'); grunt.loadNpmTasks('grunt-contrib-watch'); require('load-grunt-tasks')(grunt); grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), watch: { html: { files: ['./assets/**/*.html'], tasks: ['html'], options: { spawn: false, livereload: true, }, }, less: { files: ['./assets/less/**/*.less'], tasks: ['less_files'], options: { spawn: false, livereload: true, […]

El Capitan的“无根打破旧的咕噜configuration?

在迁移到El Capitan后,似乎用户正在经历一个咕噜安装的问题,可能与El Capitan的根本性变化有关。 特别是,运行grunt –force命令会导致EPERM错误。 工作stream程如下: 假设已安装npm,请使用package.json和gruntfile.js导航到grunt目录并调用grunt: grunt –force 示例Gruntfile.js文件内容: module.exports = function(grunt){ //所有configuration都在这里 grunt.initConfig({ pkg:grunt.file.readJSON('package.json'), concat:{ //连接文件的configuration在这里。 dist:{ src:[ ” ../js/libs/owl.carousel.js', ” ../js/libs/jquery.actual.js', ” ../js/libs/chosen.jquery.js', ” ../js/libs/jquery.parallax.js', ” ../js/src/common.js' ] dest:'../js/pro/global.js', }, }, uglify:{ build立:{ src:'../js/pro/global.js', dest:'../js/pro/global.min.js', }, }, imagemin:{ dynamic:{ 文件:[{ 展开:true, cwd:'../img/src/', src:['** / *。{png,jpg,gif}'], dest:'../img/pro/' }] } }, 指南针:{ dev:{ 选项:{ […]

如何设置Gruntfile.js来监视SASS(指南针)和JS

我新使用gruntjs和nodejs。 我想知道如何设置gruntfile,以便使用watch观看sass文件和js文件编译。 这是我迄今为止: module.exports = function ( grunt ) { "use strict"; require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), compass: { dist: { options: { config: 'config.rb', watch: true } } } }); grunt.registerTask('default', []); }; 任何帮助都感激不尽。 谢谢!

如何修改基于文件更改的grunt watch任务?

我正在编写一个node.js程序,它将监视一个充满大量(300小时)的scss项目的目录。 Grunt-watch(无论是通过节点模块运行还是独立运行,无论哪种方式运行)都将被configuration,以便每当scss文件发生更改时,都会使用指南针进行编译,输出文件将移至单独的目录,例如: ./1234/style.scss已更改>> grunt-watch运行grunt-compass >> /foo/bar/baz/1234/style.css更新 该文件所在的项目目录显然是非常重要的(如果grunt-compass将所有已编译的文件发送到同一个目录,那么它们就会变得混乱而不可用,而且这个混乱的自动化将是无意义的)。 我为了确保所有的文件被路由到正确的地方,我每次更新css文件时都会dynamic地改变grunt-compass设置。 示例gruntfile: module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), watch: { files: './*/*.scss', tasks: ['compass'] }, compass: { origin:{ options: { //temportary settings to be changed later sassDir: './', cssDir: './bar', specify: './foo.scss' } } } }); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-compass'); grunt.event.on('watch', function(action, filepath, target) { var path = require('path'); […]

Gruntjs:致命错误:getaddrinfo ENOTFOUND

我应该指出,我是没有经验的用户第一,我的问题是, '主机名'属性不能有任何值分配除空string(''),'0.0.0.0'和'本地主机'。 我得到: 致命错误:getaddrinfo ENOTFOUND 。 我究竟做错了什么? 如果得到它的权利,我可以改变我通常在地址栏中input的地址,所以,而不是'localhost'我可以键入'example.com'或类似的东西。 正如我上面提到的,我已经指定了不同的值,但只有三个已经工作。 所以为什么这个'*'不起作用。 这是我的Gruntfile.js : module.exports = function( grunt ) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), watch: { scripts: { files: ['*.js'], options: { livereload: true } }, markup: { files: ['*.html'], options: { livereload: true } }, stylesheets: { files: ['*.css'], options: { livereload: true } } }, connect: […]