微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试通过 gulp-gcloud-publish 包将编译的 CSS 发布到 GCP 存储桶时出现“TypeError: file.pipe is not a function”

如何解决尝试通过 gulp-gcloud-publish 包将编译的 CSS 发布到 GCP 存储桶时出现“TypeError: file.pipe is not a function”

我正在尝试使用 gulp-gcloud-publish 包将我编译的 SCSS 和 JS 脚本上传到我的 GCP 存储桶,我正在努力让它工作。我假设是因为软件包已经过时并且可能与 Gulp 4 不兼容。

这是我正在加载的 gulp 依赖项:

const autoprefixer = require("autoprefixer"); // v 9.5.1
const cssnano = require("cssnano"); // v 4.1.10
const { src,dest,watch,series,parallel } = require("gulp"); // v 4.0.1
const postcss = require("gulp-postcss"); // v 8.0.0"
const sass = require("gulp-sass"); // v 4.0.2
const uglify = require('gulp-uglify'); // v 3.0.2
const jshint = require('gulp-jshint'); // v 2.1.0
var gcpub = require('gulp-gcloud-publish'); // v 2.1.1
var log = require('fancy-log'); // v 1.3.3

这是我的 SCSS 和 JS 文件文件路径:

const files = {
  scsspath: './src/scss/**/*.scss',jsPath: 'src/js/**/*.js'
}

这是我的部署任务,用于编译 SASS 并将编译后的 CSS 文件上传到 GCP 存储桶(我将 SCSS 文件路径传递给 gulp src 函数 / keyFilenameprojectId引用我定义的 BitBucket 存储库变量):

function scsstaskGCP() {
  return src(files.scsspath)
    .pipe(sass())
    .pipe(postcss([ autoprefixer(),cssnano()]))
    .pipe(gcpub(
      {
        bucket: 'bucket-name',keyFilename: process.env.GCP_KEY_FILE,projectId: process.env.GCP_PROJECT_ID,base: '/assets/css',public: true,resumable: true,transformDestination: function(path) {
          return path.toLowerCase();
        },Metadata: {
          cacheControl: 'max-age=315360000,no-transform,public',}
      }
    ));
}

上述函数的行为与包的自述文件中的示例非常相似。一个区别是示例传递的是单个文件并将其上传到 GCP 存储桶,而我传递的是动态文件名以覆盖多个 SASS 文件并将 SASS 文件编译为一个脚本。

我不认为这个包喜欢这个,因为当我尝试运行 scsstaskGCP() 任务是通过我的 CI/CD 管道运行时,我收到了这个错误消息:

+ gulp deploy
[22:32:36] Using gulpfile /opt/atlassian/pipelines/agent/project-folder/hca-craft/gulpfile.js
[22:32:36] Starting 'deploy'...
[22:32:36] Starting 'scsstaskGCP'...
[22:32:37] 'scsstaskGCP' errored after 846 ms
**[22:32:37] TypeError: file.pipe is not a function**
    **at DestroyableTransform._transform (/opt/atlassian/pipelines/agent/build/project-folder/node_modules/gulp-gcloud-publish/libs/index.js:113:10)**
   ...
[22:32:37] 'deploy' errored after 848 ms

我不确定我做错了什么以及我还能尝试什么。也许我需要弄清楚如何实现 Gulp 替代方案。任何人都可以帮我解决这个问题吗?? :( 谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?