【问题标题】:Show Absolute Path with Gulp使用 Gulp 显示绝对路径
【发布时间】:2023-03-26 21:23:02
【问题描述】:

我有以下gulpfile.js,大部分取自Foundation css:

var gulp = require("gulp");
var $    = require("gulp-load-plugins")();

var sassPaths = [
  "foundation-sites-6.4.1/_vendor/normalize-scss/sass",
  "foundation-sites-6.4.1/scss",
  "bower_components/motion-ui/src"
];

gulp.task("sass", function() {
  return gulp.src("scss/app.scss")
    .pipe($.sass({
      includePaths: sassPaths
    })
      .on("error", $.sass.logError))
    .pipe($.autoprefixer({
      browsers: ["last 2 versions", "ie >= 9"]
    }))
    .pipe(
      gulp.dest("../../res/css")
    )
      .on("end", function(){ /* how to log absolute path of created file */ })
    ;
});

我想将创建的文件的绝对路径输出到控制台,例如

.on("end", function(){ console.log(...) });

但我不知道在那里记录什么,或者如何获取绝对路径。我尝试使用 path.normalize() 但这不起作用。

有什么想法吗?

【问题讨论】:

  • 你有没有 var path = require('path');第一?
  • 我做到了。它保留了一组..,这令人失望。

标签: node.js gulp zurb-foundation gulp-sass


【解决方案1】:

我看到了问题。我正在使用

path.normalize(__dirname + "../../res")

但是__dirname不包含尾部斜杠,所以结果保留了第一组..

使用

path.normalize(__dirname + "/" + "../../res")

显示预期的路径,但看起来正确的方法是使用path.join(),如下所示:

path.join(__dirname, "../../res")

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多