Articles of gruntjs gulp

如何在单个Gulpjs任务中预先添加已缩小的文件?

我想尝试Gulpjs,因为它看起来非常快。 我不明白如何翻译Gulpjs中的以下(部分)Gruntjsconfiguration。 基本上目的是uglify项目文件加上一些外部依赖 (还没有缩小), 并预先已经缩小一些依赖关系 ,以避免已经缩小的来源的缩小过程。 uglify: { dist: { src: [ '<%= deps %>/bootstrap-daterangepicker/daterangepicker.js', '<%= deps %>/smalot-bootstrap-datetimepicker/js/locales/*.js', 'src/js/**/*.js', ], dest: '<%= clean.dist %>/js/<%= pkg.name %>.min.js' } }, concat: { dist: { src: [ '<%= deps %>/jquery/dist/jquery.min.js', '<%= deps %>/bootstrap/dist/js/bootstrap.min.js', '<%= deps %>/momentjs/min/moment-with-langs.min.js', '<%= uglify.dist.dest %>' ], dest: '<%= uglify.dist.dest %>' } }, 我怎么能在Gulpjs做同样的事情? 这甚至有可能吗? […]

停止侦听特定端口的节点服务器

是否有可能停止正在监听同一台计算机上的特定端口的快递服务器? 从一个不同的脚本? 不一样的脚本。 比方说,我通过直接调用节点可执行文件并传递脚本,或者通过Grunt / Gulp任务,在一个terminal窗口中启动服务器。 现在,是否可以通过在另一个terminal窗口中运行另一个Grunt / Gulp任务来终止相同的服务器?

Gulp – 如何追加到dest而不是replace

我有一个代码: gulp.task('concat-uglify-js', function() { return gulp.src(src + 'js/*.js') .pipe(concat('angular-filemanager.min.js')) .pipe(uglify()) .pipe(gulp.dest(dst)) }); gulp.task('cache-templates', function () { return gulp.src(tplPath + '/*.html') .pipe(templateCache('cached-templates.js', { module: 'FileManagerApp', base: function(file) { return tplPath + '/' + path.basename(file.history); } })) .pipe(uglify()) .pipe(gulp.dest(dst)); }); 我想合并这两个任务输出在一个文件中…“angular-filemanager.min.js” 有一个选项可以做类似的事情 .pipe(gulp.dest(dst, {mode: "APPEND_INSTEAD_OF_REPLACE"})); ? 谢谢!

gulp.run()已被弃用

我正在使用gulp。 我想在'build-dev'任务完成后运行'connect task'。 这是我写的: gulp.task('dev', [ 'build-dev' ], function() { return gulp.run([ 'connect' ]); }); 这导致一个警告: gulp.run() has been deprecated. Use task dependencies or gulp.watch task triggering instead. 我该如何解决?

咕噜或用netbeans吞下并保存上传

我一直在使用netbeans。 我主要与php,html,css和javascript一起工作,主要是关于wordpress主题和插件开发。 我在Windows 7下运行Netbeans 8.0.2(并testing吞吐最新的每晚构build)。 我刚开始使用grunt和/或gulp(到目前为止倾向于后者),现在要利用autoprefixer – 但是我看到这些系统还有其他一些潜在的好处。 虽然有一个showstopper。 几年前,我沉迷于“上传保存文件”function,我不打算这么做 – 即时上传是我几乎所有项目工作stream程的核心部分。 到目前为止,它只是静静地处理任何我扔它,并自动上传任何更改的文件,无论我使用netbeans,photoshop,Windows资源pipe理器或任何其他外部程序修改或移动文件…但它不玩最近引入了一些吞咽和咕噜声的支持。 如果我运行gulp(或grunt)任务并更新文件,netbeans将不会检测到所做的更改,直到更改的文件被打开(或者如果已打开,则标签为tab),因此更新的文件不会被上传。 如果任务以监视方式运行,那么从CLI或NetBeans运行它似乎并不重要。 如果这是一个“正常”的任务(即不是手表 – 我不熟悉这个术语),我通过右键单击Gruntfile.js – > Grunt Tasks – >然后检测到更改…但这不是很方便(与我通常的按CTRL+S “部署过程”相比)。 到目前为止,这种内置的运行任务的方式适用于咕噜咕噜 – 但不是(还没有?)吞咽。 只有我看到的select是: 使用一个FTP插件咕噜咕噜或吞咽 – 非常不希望有多种原因 在服务器端运行吞吐量 – 这意味着当不能完全控制服务器时,正常工作stream程的重大中断,这在外部项目中通常是这种情况 – 这也意味着需要大量额外的初始工作来设置每个服务器新的项目服务器,即使有可能 有没有人设法得到这个在类似的情况下工作? – 任何其他build议/指针也欢迎,如果我只是完全错误的。 或多或less最小(基于我迄今为止有限的知识)文件重现: package.json : { "name": "grunt_gulp_test", "version": "0.0.1", "description": "", "main": "gulpfile.js", "scripts": { "test": […]

使用nodejs,grunt或gulp合并文件夹的最佳方法

我有两个文件夹,我只是想合并它们(当存在时用ExtendedFolder覆盖BaseFolder文件) 例: BaseFolder —main.js —test.js ExtendedFolder —main.js 预期结果: ResultFolder —main.js (from ExtendedFolder) —test.js (from BaseFolder) 我问过类似的问题,但没有一个令人满意的答案: Grunt。 以编程方式将并行文件夹中的相应文件与concat合并

用grunt或gulp“编译”节点项目有意义吗?

我花了很多时间用grunt文件构build一个webtemplate(前端)来“编译”整个项目,并在生产中有一个高效的代码。 现在我正在开发一个后端项目(使用node / express),我想知道“编译”节点项目是否合理? 我用Babel使用ES6语法,所以我想象每次启动项目(节点index.js或nodemon index.js)Babel在ES5中传输它,然后运行它。 我不在乎在项目开始的时候是否已经完成,一旦启动就没有影响。 但我不确定。 节点是否读取整个程序并将其“保存”到内存中? 如果是这样,我想像它是没有用的连接/编译JavaScript文件,就像我们习惯于与前端。

如何为开发和部署组织单独的客户端和服务器存储库?

到目前为止,我一直在开发客户机/服务器应用程序(React / Express)作为单个存储库。 这使得直接运行在开发模式下的服务器使用原始的Web应用程序代码/资产在客户端和服务器上进行debugging,或者使用构build的Web应用程序进行生产模式。 现在看起来应该有两个存储库,因为服务器API实际上比我的React应用程序使用得多,两个交织在一起是不可接受的。 我不知道如何去重构这个。 我知道我基本上需要一个服务器上的目录,作为生产就绪的React应用程序的部署目标。 但是,我不知道如何组织一切,以便我可以轻松地在开发模式下启动服务器,并持续监视和编译我的原始Web应用程序代码。 我现在想到的最好的方法是在服务器存储库中只有两个不同的目录,一个用于生产构build(将构build的代码和资产复制到此处),另一个用于在dev模式下运行服务器,应用程序代码在开发过程中不断从客户端存储库中复制。 有没有更好的办法?

如何使用Gulp在stream中replace?

我尝试从Grunt切换到Gulp,我有一个问题: 我从两个文件中读取两个stream var fileStream = gulp.src(file); var injectionStream = gulp.src(injection) .pipe(replace('#class-name#', argv.cname)); 如果我的控制台参数“–remove”缺席,我没有问题连接这些stream .pipe(concat('animation.styl')) .pipe(gulp.dest('./dist')) 但是,当“–remove”为真时,我想删除注入,换句话说,从fileStream中减去injectStream。 我试过了: var es = require('event-stream'); es.replace() var replace = require('gulp-replace'); 它适用于string,但是我不能用从文件读取的stream成功。 有人可以给我一个小提示吗? 也许这是一个不正确的工具生成任务,我应该留在Grunt和/或其他工具,如哟等? 感谢您的时间!