딱 한 번만 보는 시계
꿀꺽꿀꺽watch
첫 번째 변경 시 한 번만 실행됩니다.ubuntu 14에서 apache2에서 워드프레스를 실행하고 있으며 튜토리얼을 사용하고 있습니다.변화를 관찰하기 위해 꿀꺽꿀꺽 사용하는 방법을 설명합니다.처음 변경할 때는 정상적으로 작동합니다. 브라우저를 새로 고칩니다(http://localhost:3000).저는 꿀꺽 시계 설치가 처음이라 왜 한 번만 작동하는지 막막합니다.gulpfile.js는 다음과 같습니다.혹시라도 해명해야 할 사항이 있다면 다시 연락해 주시기 바랍니다.감사해요.
껐다가 다시 켜는 코딩 버전을 해봤습니다.스택 오버플로 등에 대한 이러한 유형의 문제에 대해 여러 가지 답변을 검토했습니다.
var gulp = require('gulp'),
settings = require('./settings'),
webpack = require('webpack'),
browserSync = require('browser-sync').create(),
postcss = require('gulp-postcss'),
rgba = require('postcss-hexrgba'),
autoprefixer = require('autoprefixer'),
cssvars = require('postcss-simple-vars'),
nested = require('postcss-nested'),
cssImport = require('postcss-import'),
mixins = require('postcss-mixins'),
colorFunctions = require('postcss-color-function');
gulp.task('styles', function() {
return gulp.src(settings.themeLocation + 'css/style.css')
.pipe(postcss([cssImport, mixins, cssvars, nested, rgba, colorFunctions, autoprefixer]))
.on('error', (error) => console.log(error.toString()))
.pipe(gulp.dest(settings.themeLocation));
});
gulp.task('scripts', function(callback) {
webpack(require('./webpack.config.js'), function(err, stats) {
if (err) {
console.log(err.toString());
}
console.log(stats.toString());
callback();
});
});
gulp.task('watch', function() {
browserSync.init({
notify: false,
proxy: settings.urlToPreview,
ghostMode: false
});
gulp.watch('./**/*.php', function() {
browserSync.reload();
});
gulp.watch(settings.themeLocation + 'css/**/*.css', gulp.parallel('waitForStyles'));
gulp.watch([settings.themeLocation + 'js/modules/*.js', settings.themeLocation + 'js/scripts.js'],
gulp.parallel('waitForScripts'));
});
gulp.task('waitForStyles', gulp.series('styles', function() {
return gulp.src(settings.themeLocation + 'style.css')
.pipe(browserSync.stream());
}))
gulp.task('waitForScripts', gulp.series('scripts', function(cb) {
browserSync.reload();
cb()
}))
코드가 바뀔 때마다 브라우저 뷰와 기능이 업데이트 될 것으로 기대합니다.이는 '로 꿀꺽꿀꺽 삼키기 시작한 후에 한 번만 발생합니다.gulp watch
'.
일반적으로 한 번만 실행되는 꿀꺽 작업은 한 번만 완료한 것으로 판단할 수 없으므로 꿀꺽 다시 실행하지 않음을 나타냅니다.
다음 코드로 변경:
// notice the "done" added below
gulp.task('watch', function(done) {
browserSync.init({
notify: false,
proxy: settings.urlToPreview,
ghostMode: false
});
// I also added a callback function below, just within this one gulp.watch
gulp.watch('./**/*.php', function(done) {
browserSync.reload();
done();
});
gulp.watch(settings.themeLocation + 'css/**/*.css', gulp.parallel('waitForStyles'));
gulp.watch([settings.themeLocation + 'js/modules/*.js', settings.themeLocation + 'js/scripts.js'],
gulp.parallel('waitForScripts'));
done();
});
다음과 같은 형태의 시계 문구를 사용할 것을 제안하는 것을 본 적도 있습니다.
gulp.watch('src/pages/**/*.html').on('change',gulp.series(pages, browser.reload));
일반적으로 사용되는 것 대신:
gulp.watch('src/pages/**/*.html', gulp.series(pages, browserSync.reload));
콜백 솔루션이 작동하지 않았다면 제안된 형태의watch
.
스택 오버플로우에 대한 규정에 따라 마크의 답변이 제게 적합했다는 것을 말씀드리기에는 제 평판이 너무 낮아서 여기에 추가하겠습니다.우리는 내가 수강하고 있는 Udemy 코스에 추가했고 이것은 그 사이트의 많은 사용자들에게 걸림돌이 되었습니다.
다른 사람이 정답으로 표시해야 할 것입니다.아마 gulp.js는 이 사용 사례를 고려하여 수정되어야 할 것입니다만, 제가 사용하는 것은 처음입니다.고마워요 마크.
안녕하세요 여러분 저도 같은 상황입니다.저는 mamp pro에서 워드프레스를 실행하고 있습니다.HTML 변경에 대한 마크 작업의 답변이지만 여전히 CSsen JS를 위해 중지됩니다.
누군가가 도와줄 수 있다면 아주 좋을 것입니다.
나의 gulp 파일은:
var gulp = require('gulp'),
settings = require('./settings'),
webpack = require('webpack'),
browserSync = require('browser-sync').create(),
postcss = require('gulp-postcss'),
rgba = require('postcss-hexrgba'),
autoprefixer = require('autoprefixer'),
cssvars = require('postcss-simple-vars'),
nested = require('postcss-nested'),
cssImport = require('postcss-import'),
mixins = require('postcss-mixins'),
colorFunctions = require('postcss-color-function');
gulp.task('styles', function() {
return gulp.src(settings.themeLocation + 'css/style.css')
.pipe(postcss([cssImport, mixins, cssvars, nested, rgba, colorFunctions, autoprefixer]))
.on('error', (error) => console.log(error.toString()))
.pipe(gulp.dest(settings.themeLocation));
});
gulp.task('scripts', function(callback) {
webpack(require('./webpack.config.js'), function(err, stats) {
if (err) {
console.log(err.toString());
}
console.log(stats.toString());
callback();
});
});
gulp.task('watch', function(done) {
browserSync.init({
notify: false,
proxy: settings.urlToPreview,
ghostMode: false
});
gulp.watch('./**/*.php', function(done) {
browserSync.reload();
done();
});
gulp.watch(settings.themeLocation + 'css/**/*.css', gulp.parallel('waitForStyles'));
gulp.watch([settings.themeLocation + 'js/modules/*.js', settings.themeLocation + 'js/scripts.js'], gulp.parallel('waitForScripts'));
});
gulp.task('waitForStyles', gulp.series('styles', function() {
return gulp.src(settings.themeLocation + 'style.css')
.pipe(browserSync.stream());
}))
gulp.task('waitForScripts', gulp.series('scripts', function(cb) {
browserSync.reload();
cb()
}))
언급URL : https://stackoverflow.com/questions/54064808/gulp-watch-only-runs-once
'source' 카테고리의 다른 글
부트스트랩 3에서도 스케일업이 가능한 반응형 이미지를 만드는 방법 (0) | 2023.09.24 |
---|---|
개체의 현재 상태로 인해 작업이 올바르지 않습니다.C#로 (0) | 2023.09.19 |
MySQL Workbench: 선택한 개체 없음 (0) | 2023.09.19 |
mysql에서 보기에 대한 주석 만들기 (0) | 2023.09.19 |
subprocess.open과 subprocess.run의 차이점은 무엇입니까? (0) | 2023.09.19 |