1

这是我的第一篇文章,所以如果我没有正确执行此操作,我深表歉意。我确实搜索了与我的问题相关的术语,但找不到任何东西。

我正在做的是使用 nodejs 和 gulp 构建电子邮件构建工具。

我的文件结构是这样的:

工作目录:

  • 模板/客户端/电子邮件类型/email.pug
  • 模板/客户端/电子邮件类型/style.scss

构建目录:

  • 构建/客户端/电子邮件类型/email.html
  • 构建/客户端/电子邮件类型/style.css

我正在使用 gulp-sass 渲染 vanilla css,效果很好。我正在使用 gulp-pug 渲染 html,效果很好。

现在尝试使用 premailer-gulp-juice 内联在呈现的 html 文件中链接到的 CSS 是行不通的,除非我在 html 文件中指定确切的路径。

由于我正在尝试为多个客户端和多个电子邮件文件设置一个环境,所以我不能那么具体。

我的问题是我收到“找不到文件。跳过 style.css”错误。

来自 npmjs 的示例:

gulp.task('bootloader', function(){
  gulp.src('./app/templates/bootloader.jade')
    .pipe(jade({pretty: true}))
    .pipe(gulp.dest('./.build'))
    .pipe(juice())
    .pipe(gulp.dest('./.build'));
});

我的 gulpfile 看起来像这样:

var gulp = require('gulp');
var sass = require('gulp-sass');
var pug = require('gulp-pug');
var juice = require('premailer-gulp-juice');

gulp.task('sass', function () {
  return gulp.src('./templates/**/*.scss')
  .pipe(sass().on('error', sass.logError))
  .pipe(gulp.dest('./build'));
});

gulp.task('render', ['sass'], function () {
  return gulp.src(['./templates/**/*.pug'])
  .pipe(pug({
    client: false,
    pretty: true
  }))
  .pipe(gulp.dest('./build'))
  .pipe(juice())
  .pipe(gulp.dest('./build'));
});

gulp.task('default', ['sass', 'render'], function () {});

我总是收到这个错误:

[09:53:08] Using gulpfile ~/Desktop/Dev/email/gulpfile.js
[09:53:08] Starting 'sass'...
[09:53:08] Finished 'sass' after 38 ms
[09:53:08] Starting 'render'...
**Not found, skipping: style.css**
[09:53:09] Finished 'render' after 137 ms
[09:53:09] Starting 'default'...
[09:53:09] Finished 'default' after 6.76 μs

我的 html 文件链接到 build 文件夹下 gulp-sass 输出的 style.css 文件,所以它的字面意思是:

<link rel="stylesheet" type="text/css" href="style.css">
4

0 回答 0