- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 grunt-contrib-watch和 grunt-rsync将任何文件更改上传到我的开发服务器。这是我的设置:
var path = require('path');
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
...
watch: {
upload: {
files: ['*'],
},
...
},
rsync: {
options: {
args: ['--verbose'],
exclude: ['.*','node_modules','sql','artifacts','session','logs','cache'],
recursive: true,
syncDestIgnoreExcl: true
},
dev: {
options: {
src: './',
dest: '/usr/local/project',
host: 'dev3',
}
}
},
});
grunt.event.on('watch', function(action, filepath, target) {
if(target!=='upload') return;
grunt.config('rsync.dev.options.src', filepath);
grunt.task.run('rsync:dev');
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-rsync');
...
};
rsync
任务本身运行良好;它上传我的整个项目的速度相对较快,但速度不足以在每次文件编辑时运行。
我正在尝试使用 grunt.event.on
在再次运行任务之前修改 src
以便它只上传一个文件。但是,grunt.task.run('rsync:dev')
似乎什么也没做。没有错误,什么都没有。这是我运行它然后创建一个新文件时的输出:
$ grunt watch:upload --debug --stack
Running "watch:upload" (watch) task
Waiting...OK
>> File "ppp" added.
如果我给它一个无效的任务名称,它就会出错,所以它显然是在寻找任务,我只是不确定它在做什么。该文件永远无法到达我的服务器。
我怎样才能让它只同步我保存的文件?
注意newer似乎也不起作用,所以我尝试通过 grunt.event.on('watch'
最佳答案
不建议从 watch
事件中运行任务。看看这里的警告:https://github.com/gruntjs/grunt-contrib-watch#using-the-watch-event
目前执行上述操作的最佳方法是使用 watch 事件配置 rsync 任务,但使用 watch 的 tasks
来运行任务,如下所示:
grunt.initConfig({
watch: {
upload: {
// Dont spawn to retain the process context here
options: { spawn: false },
files: ['*'],
tasks: ['rsync:dev']
},
},
});
grunt.event.on('watch', function(action, filepath, target) {
if (target === 'upload') grunt.config('rsync.dev.options.src', filepath);
});
FWIW,我们正在寻找更好的方法来处理上述用例。这是领先的想法:https://github.com/gruntjs/grunt-contrib-watch/issues/156
关于gruntjs - grunt-contrib-watch + grunt-rsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20435439/
我正在尝试找到一种无需互联网访问即可安装 gruntjs 的方法。有没有办法下载安装程序?堆栈溢出让我很难理解这个问题的格式,我不确定还能写什么。这是一个非常简单的请求。 最佳答案 有点。您有时需要访
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 8年前关闭。 Improve thi
首先我还没有真正理解什么gruntjs确实如此,但我有一些想法。我希望通过了解它的用途和用途,我会明白它的目的。任何人都可以向我解释什么是 gruntjs,为什么使用它,以及它的用途。 Is it b
有没有办法自动将所有 bower 安装的库合并和缩小到 1 个文件中? 首先我尝试了最基本的方法:结合所有 .js来自所有子目录的文件: uglify: { options: {compres
当 grunt.js 文件发生更改时,是否可以重新启动 grunt watch 用例:我现在正在构建我的 grunt 进程并不断更改 grunt.js 文件,我必须重新启动 grunt.js 以查看它
我正在使用带有 grunt-eslint 插件的 grunt。这是一个更大的 grunt 任务的一部分,该任务首先找到更改的文件并对它们执行各种任务。如果没有更改任何 JS 文件(例如,如果我只更改
我正在尝试将 PostCSS 插件 autoprefixer 与 grunt 一起使用。我浏览了许多相关的文章和 Stackoverflow 答案,但我仍然收到“警告:[object Object]
我目前正在使用 usemin 任务来执行 concat 和 uglify 任务。但是,我没有从 concat/uglify 任务中获得任何输出。没有看到任何错误或警告。如何获得结果输出 dist/ap
我已经安装了Node JS。如何检查是否安装了grunt?它是否安装得井井有条,还是驻留在特定的文件夹中? 例如,node -v会告诉我我已安装v0.10.33,但找不到Grunt的任何类似命令。 最
我使用Yeoman进行了角度设置。在我的main.html(加载到index.html上的 View )下,我在样式文件夹中添加了一个引用的css文件。 我用构建注释将其包围起来,以便可以在最小化的同
当我运行grunt服务器时,将进行文件编辑,并通过livereload刷新浏览器。 当我运行grunt测试时,它将运行一次并关闭。 可以通过运行来模拟此行为 yo angular --minsafe
我目前正在尝试将 Grunt 文件转换为 Gulp 文件。我的第一次尝试是使用一个非常简单的文件,它只运行 JSHint 和 Mocha,并具有监视模式。我的第一个结果是……嗯……令人失望。 我遇到了
我正在将yeoman用于项目。 基本上它可以正常工作,但是在构建过程中,我想将我的images文件夹移动到其他地方。 因此,我加载了grunt-contrib-copy任务,这使我可以执行此任务。但不
我以为有办法做到这一点,而我以前偶然发现它。 我已经阅读了这些答案,但它们并不是我在说的: Programmatically pass arguments to grunt task? Grunt c
我已经使用 sudo npm install grunt 安装了 grunt,但现在无法删除它。 我已经尝试过: $ sudo npm uninstall grunt 但它给了我一个警告: npm W
我正在使用与浏览器同步的grunt插件,它正在工作,但是与实时重新加载相比,它非常慢。 保存文件后,浏览器开始刷新页面大约需要3秒钟。我不确定这是否与浏览器同步,本地主机有关,还是浏览器同步的典型行为
我有一个 html 文件,其中包含对 js 文件的引用。我想解析它,提取引用的 js 文件列表,并提供 contrib-concat 或任何其他任务。有没有一种方便的方法可以使用一个 grunt 任务
我收到此错误: Warning: Unable to write file (Error code: EISDIR) 我正在尝试复制目录中的所有文件和子文件夹。 当我省略 ** 时,以下内容有效,但我
我有一个基于 PHP 的项目,无法在 grunt-php 上运行。相反,我使用 grunt-exec运行我的 MAMP 服务器进行开发。 exec: { serverup: { comma
我在我的项目和karma中使用了AngularJS来测试。然后我这样配置 karma : config.set({ basePath: '../', frameworks: ['jas
我是一名优秀的程序员,十分优秀!