Grunt 或 gulp with netbeans 并在保存时上传
Grunt or gulp with netbeans and upload on save
我已经使用 netbeans 很长时间了。我主要使用 php、html、css 和 javascript 主要与 wordpress 主题和插件开发相关。我 运行 Netbeans 8.0.2(以及用于测试 gulp 最新的夜间构建)在 windows 7.
我刚刚开始使用 g运行t 和/或 gulp(到目前为止倾向于后者),目前要利用 autoprefixer - 但是我看到了这些系统的一百万个其他潜在好处。
虽然有一个亮点。几年前我就对 "Upload files on save" 功能上瘾了,我不打算改掉这个习惯 - 即时上传是我几乎所有项目工作流程的核心部分...
到目前为止,它只是静静地处理我扔给它的任何东西,并自动上传任何更改的文件,无论我是否使用 netbeans、photoshop、windows explorer 或任何其他外部程序来修改或移动文件...但它与最近引入的 gulp 和 g运行t 支持配合得不好。
如果我 运行 gulp(或 g运行t)任务和文件被更新,netbeans 不会检测到更改,直到打开(或选项卡)更改的文件如果已经打开)...因此不会上传更新的文件。
如果任务 运行 是一个手表,那么我 运行 从 CLI 还是从 netbeans 似乎并不重要。如果它是一项 "normal" 任务(即不是手表 - 我对行话还不是很满意)并且我通过右键单击 Gruntfile.js
-> [= 手动 运行 它16=] -> whatever
然后检测到变化 ...但这不是很方便(与我通常的 "deployment procedure" 推送 CTRL+S
).到目前为止,这种 运行ning 任务的内置方式适用于 g运行t - 但不适用于(还?)gulp.
我看到的唯一选项是:
- 为 g运行t 或 gulp 使用 FTP 插件 - 出于多种原因非常不受欢迎
- 运行 gulp 在服务器端 - 这意味着当无法完全控制服务器时正常工作流程的重大中断,这在外部项目中通常是这种情况 - 它也意味着即使有可能也要进行大量额外的初始工作来设置每个新项目服务器端
有没有人设法让这个在类似的情况下工作?
-任何其他建议/指点也欢迎,如果我只是完全错误地处理它。
或多或少要复制的最少(基于我目前有限的知识)文件:
package.json
:
{
"name": "grunt_gulp_test",
"version": "0.0.1",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Mikkel",
"license": "ISC",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-watch": "^0.6.1",
"gulp": "^3.8.11",
"gulp-autoprefixer": "^2.3.0",
"gulp-load-plugins": "^0.10.0",
"gulp-sass": "^2.0.1",
"gulp-sourcemaps": "^1.5.2",
"gulp-util": "^3.0.4"
}
}
Gruntfile.js
:
module.exports = function(grunt) {
grunt.initConfig({
sass: { // Task
dist: { // Target
options: { // Target options
style: 'expanded'
},
files: { // Dictionary of files
'test_grunt.css': 'test.scss'
}
}
},
watch: {
scripts: {
files: ['test.scss'],
tasks: ['sass'],
options: {
spawn: false
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['sass']);
grunt.registerTask('watch_it', ['sass', 'watch']);
};
gulpfile.js
:
'use strict';
var gulp = require('gulp');
var gutil = require( 'gulp-util' );
var $ = require('gulp-load-plugins')();
gulp.task('styles', function () {
return gulp.src([
'test.scss'
])
.pipe($.sourcemaps.init())
.pipe($.sass({
precision: 10,
onError: console.error.bind(console, 'Sass error:')
}))
.pipe($.autoprefixer({browsers: ['> 5%']}))
.pipe($.sourcemaps.write())
.pipe(gulp.dest('.'));
});
gulp.task('default', ['styles']);
gulp.task('watch', ['styles'], function () {
gulp.watch(['test.scss'], ['styles']);
});
test.css
:
div {
div {
display: flex;
background: #445552;
}
}
已确认这是 windows 用户 运行 的错误。
The bug has been resolved, and until it is included in a stable release, anyone else who is affected by the problem can simply use a nightly build >=
201508060002
我已经使用 netbeans 很长时间了。我主要使用 php、html、css 和 javascript 主要与 wordpress 主题和插件开发相关。我 运行 Netbeans 8.0.2(以及用于测试 gulp 最新的夜间构建)在 windows 7.
我刚刚开始使用 g运行t 和/或 gulp(到目前为止倾向于后者),目前要利用 autoprefixer - 但是我看到了这些系统的一百万个其他潜在好处。
虽然有一个亮点。几年前我就对 "Upload files on save" 功能上瘾了,我不打算改掉这个习惯 - 即时上传是我几乎所有项目工作流程的核心部分...
到目前为止,它只是静静地处理我扔给它的任何东西,并自动上传任何更改的文件,无论我是否使用 netbeans、photoshop、windows explorer 或任何其他外部程序来修改或移动文件...但它与最近引入的 gulp 和 g运行t 支持配合得不好。
如果我 运行 gulp(或 g运行t)任务和文件被更新,netbeans 不会检测到更改,直到打开(或选项卡)更改的文件如果已经打开)...因此不会上传更新的文件。
如果任务 运行 是一个手表,那么我 运行 从 CLI 还是从 netbeans 似乎并不重要。如果它是一项 "normal" 任务(即不是手表 - 我对行话还不是很满意)并且我通过右键单击 Gruntfile.js
-> [= 手动 运行 它16=] -> whatever
然后检测到变化 ...但这不是很方便(与我通常的 "deployment procedure" 推送 CTRL+S
).到目前为止,这种 运行ning 任务的内置方式适用于 g运行t - 但不适用于(还?)gulp.
我看到的唯一选项是:
- 为 g运行t 或 gulp 使用 FTP 插件 - 出于多种原因非常不受欢迎
- 运行 gulp 在服务器端 - 这意味着当无法完全控制服务器时正常工作流程的重大中断,这在外部项目中通常是这种情况 - 它也意味着即使有可能也要进行大量额外的初始工作来设置每个新项目服务器端
有没有人设法让这个在类似的情况下工作?
-任何其他建议/指点也欢迎,如果我只是完全错误地处理它。
或多或少要复制的最少(基于我目前有限的知识)文件:
package.json
:
{
"name": "grunt_gulp_test",
"version": "0.0.1",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Mikkel",
"license": "ISC",
"devDependencies": {
"grunt": "^0.4.5",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-watch": "^0.6.1",
"gulp": "^3.8.11",
"gulp-autoprefixer": "^2.3.0",
"gulp-load-plugins": "^0.10.0",
"gulp-sass": "^2.0.1",
"gulp-sourcemaps": "^1.5.2",
"gulp-util": "^3.0.4"
}
}
Gruntfile.js
:
module.exports = function(grunt) {
grunt.initConfig({
sass: { // Task
dist: { // Target
options: { // Target options
style: 'expanded'
},
files: { // Dictionary of files
'test_grunt.css': 'test.scss'
}
}
},
watch: {
scripts: {
files: ['test.scss'],
tasks: ['sass'],
options: {
spawn: false
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['sass']);
grunt.registerTask('watch_it', ['sass', 'watch']);
};
gulpfile.js
:
'use strict';
var gulp = require('gulp');
var gutil = require( 'gulp-util' );
var $ = require('gulp-load-plugins')();
gulp.task('styles', function () {
return gulp.src([
'test.scss'
])
.pipe($.sourcemaps.init())
.pipe($.sass({
precision: 10,
onError: console.error.bind(console, 'Sass error:')
}))
.pipe($.autoprefixer({browsers: ['> 5%']}))
.pipe($.sourcemaps.write())
.pipe(gulp.dest('.'));
});
gulp.task('default', ['styles']);
gulp.task('watch', ['styles'], function () {
gulp.watch(['test.scss'], ['styles']);
});
test.css
:
div {
div {
display: flex;
background: #445552;
}
}
已确认这是 windows 用户 运行 的错误。
The bug has been resolved, and until it is included in a stable release, anyone else who is affected by the problem can simply use a nightly build >=
201508060002