- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时我的 gulpfile 工作得很好......就像在创建构建目录后第一次运行它一样:
PS C:\Users\RobertoTomás\OneDrive\Público\projects\Overwatch> gulp
[09:56:11] Requiring external module babel-register
[09:56:13] Using gulpfile ~\OneDrive\Público\projects\Overwatch\gulpfile.babel.js
[09:56:13] Starting 'default'...
[09:56:13] Starting 'clean'...
[09:56:13] Starting 'root'...
[09:56:13] Finished 'root' after 6.23 ms
[09:56:13] Starting 'templates'...
[09:56:13] Finished 'templates' after 1.68 ms
[09:56:13] Starting 'css'...
[09:56:13] Finished 'css' after 7.43 ms
[09:56:13] Starting 'sass'...
[09:56:13] Finished 'sass' after 6.96 ms
[09:56:13] Starting 'scripts'...
[09:56:13] Finished 'scripts' after 3.88 ms
[09:56:13] Finished 'default' after 39 ms
[09:56:13] Finished 'clean' after 91 ms
[09:56:14] File dev\styles\bootstrap-theme.css found.
[09:56:14] Processed media queries:
[09:56:14] @media (max-width: 767px)
[09:56:14] File dev\styles\bootstrap-theme.css created.
[09:56:14] File dev\styles\bootstrap-theme.min.css found.
[09:56:14] Processed media queries:
[09:56:14] @media (max-width:767px)
[09:56:14] File dev\styles\bootstrap-theme.min.css created.
[09:56:15] File dev\styles\bootstrap.css found.
[09:56:15] Processed media queries:
[09:56:15] @media screen and (-webkit-min-device-pixel-ratio: 0)
[09:56:15] @media (max-device-width: 480px) and (orientation: landscape)
[09:56:15] @media all and (transform-3d), (-webkit-transform-3d)
[09:56:15] @media (min-width: 768px)
[09:56:15] @media screen and (min-width: 768px)
[09:56:15] @media (min-width: 768px) and (max-width: 991px)
[09:56:15] @media (min-width: 992px)
[09:56:15] @media (min-width: 992px) and (max-width: 1199px)
[09:56:15] @media (min-width: 1200px)
[09:56:15] @media screen and (max-width: 767px)
[09:56:15] @media (max-width: 767px)
[09:56:15] @media print
[09:56:15] File dev\styles\bootstrap.css created.
[09:56:15] File dev\styles\bootstrap.min.css found.
[09:56:15] Processed media queries:
[09:56:15] @media screen and (-webkit-min-device-pixel-ratio:0)
[09:56:15] @media (max-device-width:480px) and (orientation:landscape)
[09:56:15] @media all and (transform-3d),(-webkit-transform-3d)
[09:56:15] @media (min-width:768px)
[09:56:15] @media screen and (min-width:768px)
[09:56:15] @media (min-width:768px) and (max-width:991px)
[09:56:15] @media (min-width:992px)
[09:56:15] @media (min-width:992px) and (max-width:1199px)
[09:56:15] @media (min-width:1200px)
[09:56:15] @media screen and (max-width:767px)
[09:56:15] @media (max-width:767px)
[09:56:15] @media print
[09:56:15] File dev\styles\bootstrap.min.css created.
[09:56:16] File dev\styles\main.css found.
[09:56:16] File dev\styles\main.css created.
[BS] Access URLs:
------------------------------------
Local: http://localhost:3000
External: http://192.168.1.9:3000
------------------------------------
UI: http://localhost:3001
UI External: http://192.168.1.9:3001
------------------------------------
[BS] Serving files from: ./build/
[BS] 5 files changed (bootstrap-theme.min.css, bootstrap-theme.min.min.css, bootstrap.min.css, bootstrap.min.min.css, ma
in.min.css)
[BS] 7 files changed (404.html, index.html, browserconfig.xml, apple-touch-icon.png, tile-wide.png, tile.png, favicon.ic
o)
[BS] 5 files changed (bootstrap.min.js, bootstrap.min.min.js, jquery-3.1.0.min.js, main.min.js, modernizr-2.8.3-respond-
1.4.2.min.min.js)
但大多数时候(但并非总是),我在 styles
子目录中遇到错误:
PS C:\Users\RobertoTomás\OneDrive\Público\projects\Overwatch> gulp
[09:57:31] Requiring external module babel-register
[09:57:33] Using gulpfile ~\OneDrive\Público\projects\Overwatch\gulpfile.babel.js
[09:57:33] Starting 'default'...
[09:57:33] Starting 'clean'...
[09:57:33] Starting 'root'...
[09:57:33] Finished 'root' after 6.26 ms
[09:57:33] Starting 'templates'...
[09:57:33] Finished 'templates' after 1.77 ms
[09:57:33] Starting 'css'...
[09:57:33] Finished 'css' after 7.78 ms
[09:57:33] Starting 'sass'...
[09:57:33] Finished 'sass' after 6.5 ms
[09:57:33] Starting 'scripts'...
[09:57:33] Finished 'scripts' after 3.82 ms
[09:57:33] Finished 'default' after 39 ms
[09:57:34] File dev\styles\bootstrap-theme.css found.
[09:57:34] Processed media queries:
[09:57:34] @media (max-width: 767px)
[09:57:34] File dev\styles\bootstrap-theme.css created.
[09:57:34] File dev\styles\bootstrap-theme.min.css found.
[09:57:34] Processed media queries:
[09:57:34] @media (max-width:767px)
[09:57:34] File dev\styles\bootstrap-theme.min.css created.
[09:57:35] File dev\styles\bootstrap.css found.
[09:57:35] Processed media queries:
[09:57:35] @media screen and (-webkit-min-device-pixel-ratio: 0)
[09:57:35] @media (max-device-width: 480px) and (orientation: landscape)
[09:57:35] @media all and (transform-3d), (-webkit-transform-3d)
[09:57:35] @media (min-width: 768px)
[09:57:35] @media screen and (min-width: 768px)
[09:57:35] @media (min-width: 768px) and (max-width: 991px)
[09:57:35] @media (min-width: 992px)
[09:57:35] @media (min-width: 992px) and (max-width: 1199px)
[09:57:35] @media (min-width: 1200px)
[09:57:35] @media screen and (max-width: 767px)
[09:57:35] @media (max-width: 767px)
[09:57:35] @media print
[09:57:35] File dev\styles\bootstrap.css created.
[09:57:36] File dev\styles\bootstrap.min.css found.
[09:57:36] Processed media queries:
[09:57:36] @media screen and (-webkit-min-device-pixel-ratio:0)
[09:57:36] @media (max-device-width:480px) and (orientation:landscape)
[09:57:36] @media all and (transform-3d),(-webkit-transform-3d)
[09:57:36] @media (min-width:768px)
[09:57:36] @media screen and (min-width:768px)
[09:57:36] @media (min-width:768px) and (max-width:991px)
[09:57:36] @media (min-width:992px)
[09:57:36] @media (min-width:992px) and (max-width:1199px)
[09:57:36] @media (min-width:1200px)
[09:57:36] @media screen and (max-width:767px)
[09:57:36] @media (max-width:767px)
[09:57:36] @media print
[09:57:36] File dev\styles\bootstrap.min.css created.
[09:57:36] File dev\styles\main.css found.
[09:57:36] File dev\styles\main.css created.
[09:57:36] Plumber found unhandled error:
Error: ENOENT: no such file or directory, chmod 'C:\Users\RobertoTomás\OneDrive\Público\projects\Overwatch\build\styles
\bootstrap-theme.min.css'
[09:57:36] Plumber found unhandled error:
Error: ENOENT: no such file or directory, chmod 'C:\Users\RobertoTomás\OneDrive\Público\projects\Overwatch\build\styles
\bootstrap-theme.min.css'
[09:57:36] Finished 'clean' after 2.94 s
[BS] Access URLs:
------------------------------------
Local: http://localhost:3000
External: http://192.168.1.9:3000
------------------------------------
UI: http://localhost:3001
UI External: http://192.168.1.9:3001
------------------------------------
[BS] Serving files from: ./build/
[BS] 7 files changed (404.html, index.html, browserconfig.xml, apple-touch-icon.png, tile-wide.png, tile.png, favicon.ic
o)
[BS] 5 files changed (bootstrap.min.js, bootstrap.min.min.js, jquery-3.1.0.min.js, main.min.js, modernizr-2.8.3-respond-
1.4.2.min.min.js)
整个 styles
子目录不会在 build
中创建。
这是我的 gulp 文件:
var gulp = require('gulp');
var plumber = require('gulp-plumber');
var rename = require('gulp-rename');
var sourcemaps = require('gulp-sourcemaps');
var sass = require('gulp-sass');
var autoPrefixer = require('gulp-autoprefixer');
//if node version is lower than v.0.1.2
//require('es6-promise').polyfill();
var cssComb = require('gulp-csscomb');
var cmq = require('gulp-merge-media-queries');
var cleanCss = require('gulp-clean-css');
var browserify = require('gulp-browserify');
var uglify = require('gulp-uglify');
var browserSync = require('browser-sync').create();
var reload = browserSync.reload
var clean = require('gulp-clean');
gulp.task('clean', function (done) {
gulp.src('build/*', { read: false })
.pipe(clean())
done()
})
gulp.task('sass', function (done) {
gulp.src(['dev/styles/**/*.scss', 'dev/styles/**/*.sass'])
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(autoPrefixer())
.pipe(cssComb())
.pipe(cmq({ log: true }))
.pipe(gulp.dest('build/styles'))
.pipe(rename({
suffix: '.min'
}))
.pipe(cleanCss())
.pipe(sourcemaps.write())
.pipe(gulp.dest('build/styles'))
.pipe(reload({ stream: true }))
done()
});
gulp.task('css', function (done) {
gulp.src(['dev/styles/**/*.css'])
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(autoPrefixer())
.pipe(cssComb())
.pipe(cmq({ log: true }))
.pipe(gulp.dest('build/styles'))
.pipe(rename({
suffix: '.min'
}))
.pipe(cleanCss())
.pipe(gulp.dest('build/styles'))
.pipe(reload({ stream: true }))
done()
});
gulp.task('scripts', function (done) {
gulp.src(['dev/scripts/**/*.js'])
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(browserify())
.pipe(gulp.dest('build/scripts'))
.pipe(rename({
suffix: '.min'
}))
.pipe(uglify())
.pipe(gulp.dest('build/scripts'))
.pipe(reload({ stream: true }))
done()
});
gulp.task('templates', function (done) {
gulp.src(['dev/hypermedia/**/*.html'])
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(gulp.dest('build/hypermedia/'))
.pipe(reload({ stream: true }))
done()
});
gulp.task('root', function (done) {
gulp.src(['dev/**/*.html', 'dev/**/*.xml', 'dev/**/*.png', 'dev/**/*.ico'])
.pipe(plumber({
handleError: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(gulp.dest('build/'))
.pipe(reload({ stream: true }))
done()
});
gulp.task('all', function (done) {
gulp.start('root', 'templates', 'css', 'sass', 'scripts')
done()
})
gulp.task('default', ['clean', 'root', 'templates', 'css', 'sass', 'scripts'], function (done) {
gulp.watch('dev/scripts/**/*.js', ['scripts']);
gulp.watch('dev/styles/**/*.css', ['css']);
gulp.watch(['dev/styles/**/*.scss', 'dev/styles/**/*.sass'], ['sass']);
gulp.watch('hypermedia/**/*.html', ['templates']);
gulp.watch(['dev/**/*.html', 'dev/**/*.xml', 'dev/**/*.png', 'dev/**/*.ico'], ['root']);
browserSync.init({ server: './build/' });
done()
});
这特别奇怪,因为我只删除了 default
任务开头的样式目录(实际上是依赖项)..并且我立即重新创建它(仍然处于依赖项中。它应该仍然在那里。
我还尝试通过 Promise 或一系列 .on('end'
调用,带或不带 done()
回调来实现这一点,但我也没有找到解决方案。
如何将 .min.js
与 .js
分开匹配,这样我就不会处理 3rdparty js 文件?我很乐意使用 vendor
子目录,但我不确定如何包含用于处理除了 vendor 的所有子目录。
最佳答案
<强>1。您不会返回您的信息流。
您需要在每个任务中执行此操作:
gulp.task('sass',function(){
return gulp.src(['dev/styles/**/*.scss','dev/styles/**/*.sass'])
您还需要删除所有无意义的 done()
您在代码中散布的回调。
进一步阅读:Async task support , Does a gulp task have to return anything?
<强>2。您正在并行运行所有任务。
gulp.task('default', ['clean', 'root', 'templates', 'css', 'sass', 'scripts'], function (done) {
以上内容无法运行clean
, root
, templates
, css
, sass
和scripts
为了。它同时运行它们。这就是为什么你会得到 ENOENT
错误。您正在删除 clean
中的文件任务同时其他任务正在创建它们。
针对您的情况,最好的方法可能是使用 run-sequence
:
var runSequence = require('run-sequence');
gulp.task('watch', function() {
gulp.watch('dev/scripts/**/*.js', ['scripts']);
gulp.watch('dev/styles/**/*.css', ['css']);
gulp.watch(['dev/styles/**/*.scss', 'dev/styles/**/*.sass'], ['sass']);
gulp.watch('hypermedia/**/*.html', ['templates']);
gulp.watch(['dev/**/*.html', 'dev/**/*.xml', 'dev/**/*.png', 'dev/**/*.ico'], ['root']);
});
gulp.task('serve', function() {
browserSync.init({ server: './build/' });
});
gulp.task('default', function(done) {
runSequence('clean', ['root', 'templates', 'css', 'sass', 'scripts'], 'watch', 'serve', done);
});
以上确保了以下任务顺序:
clean
root
, templates
, css
, sass
, scripts
并行watch
serve
进一步阅读:How to run Gulp tasks sequentially one after the other
关于javascript - gulp 间歇性地创建目标目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39547682/
实习测试框架有没有 有任何 gulp 插件或文档可以与 gulp 集成吗? 最佳答案 它看起来不像,但我已经做到了 使用 gulp-shell : gulp.task('intern', shell.
我正在寻找答案,不必深入或详细。只是想确切地知道任务序列发生了什么。 gulp.task('name',['*this right here*'], function() { // conte
假设有四个任务 'a'、'b'、'c'、'd'(b 依赖于 c 和 d;c 和 d 都依赖于 a),因此任务按以下顺序运行: a-> (c, d) -> b 这是相应地工作的 gulpfile.js:
我安装了本地gulp插件,并意识到我不需要它。如何删除它,是否有例如npm remove gulp-sass这样的命令? 最佳答案 只需运行npm uninstall --save即可。转到此链接h
我使用del包删除文件夹: gulp.task('clean', function(){ return del('dist/**/*', {force:true}); }); 但是,如果dis
有一个 super 简单的 gulp 文件,我想在其中依次运行一些基本的 gulp 任务。 我似乎无法在 Gulp v4 中运行它。使用 run-sequence 在 Gulp v3 中有类似的东西而
我目前有这样的文件结构 SASS gulpfile.js node_modules sites example-site scss
我创建了一个简单的 Gulp 任务来检查我的 ES6 文件中的更改。我想转换它们并在出现问题时显示错误消息。 正在显示错误屏幕。但是,当一切都成功时,我想显示不同的信息。 我试过 .on('end')
我已经安装了gulp在全局范围内 sudo npm install --global gulp-cli 和本地 npm install --save-dev gulp /usr/local/bin/g
我正在尝试使用 gulp-rev、gulp-rev-replace 和 gulp-rev-css-url 重写对我的版本图像文件的引用。 我已设法修改文件并将 list 与以下 gulp 代码合并:
尝试创建一个 gulp 任务,通过 LESS 通过管道传输来自不同文件夹的一堆文件,然后将它们输出到基于原始源的文件夹。考虑这个文件夹结构: Project +-- /Module_A | +-
我在终端上的项目文件夹中,并且: 如果我执行: gulp -v 我得到: [15:47:15] CLI version 3.9.0 [15:47:15] Local version 3.9.
设置很简单: gulp.task('rev-js', function() { return gulp.src('/js/main.js, {base: '.'}) .pipe(ne
我有两个任务,B 依赖于 A。 任务A需要循环一个数组,然后执行gulp.dest,但似乎B会在A完成之前执行。 A 所做的就是加载所有 html,并将每个 html 注入(inject)到 temp
我尝试在工作流程中将 gulp-data 与 gulp-jade 结合使用,但收到与 gulp-data 插件相关的错误。 这是我的 gulpfile.js var gulp = require('g
编辑:有没有办法清理这段代码? 任务.咖啡 # Watch pages gulp.task 'jade', -> # Watch index gulp.src('src/jade/index.
这可能听起来很愚蠢,但请耐心等待。我遇到了麻烦。 我正在开发一个使用 Grunt 来编译和构建其发行版的项目。但是,它使用另一个名为 prism 的库,您可以在 http://prismjs.com
我有一个简单的 less 任务的 gulp 工作流程,如下所示: gulp.task('less', function() { gulp.src(source_less) .p
我有一个 gulp 工作流程,一切都运行良好,但似乎它只适用于最上面的文件,例如:public/index.html,但如果我想使用 public/products/item.html,gulp-da
我想使用 gulp-useref 将我所有的 JavaScript 文件连接成一个。 在我的 JavaScript 文件中,我混合了pre-minified 和non-minified 文件。 我只想
我是一名优秀的程序员,十分优秀!