【发布时间】:2019-06-29 00:18:48
【问题描述】:
我刚开始在这里学习 gulp 我已经编写了任务并在运行任务后运行我的 CSS 文件中没有任何更改供应商前缀没有添加。我正在尝试添加供应商前缀并压缩我的 CSS 文件。任何人都可以建议我。我的目录路径是否正确我在这里做错了什么?为什么它不工作。而且我用的是最新版4.0.1
【问题讨论】:
我刚开始在这里学习 gulp 我已经编写了任务并在运行任务后运行我的 CSS 文件中没有任何更改供应商前缀没有添加。我正在尝试添加供应商前缀并压缩我的 CSS 文件。任何人都可以建议我。我的目录路径是否正确我在这里做错了什么?为什么它不工作。而且我用的是最新版4.0.1
【问题讨论】:
gulp.src() 的第一个参数必须是指向文件的 glob。
glob 是一串文字和/或通配符,用于匹配 文件路径。 Globbing 是在文件系统上使用定位文件的行为 一个或多个球体。
所以 src() 的第一个参数应该是这样的:
./assets/css/app.css(匹配特定文件)./assets/css/*.css(匹配目录中所有带有 ext .css 的文件)./assets/css/**/*.css(匹配所有带有 ext .css 的文件./assets/css/**/*(匹配所有文件)此外,使用相同的输入和输出目录也不是一个好主意。因为在第一次运行任务后,您的源文件将被破坏。
也许更好的办法是使用类似的结构:
project-home/
├── ...
├── src/
│ ├── css/
│ ├── js/
│ ├── images/
├── assets/
│ ├── css/
│ ├── js/
│ ├── images/
【讨论】:
./assets/css/*.css 更改目录路径,当我运行 gulp empty 只有[11:47:32] Starting 'empty'... 显示它没有完成空。我等了 5 分钟还是什么都没有。为什么会发生这种情况
src 和dest(在您的情况下为assets)文件夹分开,否则您的源文件将被破坏。想象一下,您不仅使用autprrefixer,还使用了一些缩小工具。在这种情况下,运行任务后,您的源 css 将被缩小。
gulp.watch())而不是任务。 Watch 任务永远不会结束(直到异常或手动停止)。他们会查看您提供的文件并在发生变化时运行任务。
gulp.task('test', function () { return gulp.src('./assets/css/*.css', {allowEmpty: true}) .pipe(postcss( [ autoprefixer] )) .pipe(gulp.dest('./assets/css/*.css')); }); 这是我的代码。我试过使用 watch();收到错误然后我使用了 task();