RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1369151
Accepted
Konstantin_SH
Konstantin_SH
Asked:2022-06-07 02:43:25 +0000 UTC2022-06-07 02:43:25 +0000 UTC 2022-06-07 02:43:25 +0000 UTC

为什么我在使用 gulp-sass 模块时得到 sass is not a function error in gulp?

  • 772

我有一个这样的样式表模块:

import autoPrefixer from "gulp-autoprefixer"
import groupCssMediaQueries from "gulp-group-css-media-queries"
import GulpCleanCss from "gulp-clean-css"
import dartSass from "sass"
import gulpSass from "gulp-sass"

const sass = gulpSass(dartSass);

export const scss = () => {
    return app.gulp.src(app.path.src.css, { sourcemaps: true })
        .pipe(app.plugins.cached("css"))
        .pipe(app.plugins.newer(app.path.build.css))
        .pipe(
            sass({
                outputStyle: "expanded"
            })
        )
        .pipe(
            groupCssMediaQueries()
        )
        .pipe(
            autoPrefixer({
                overrideBrowserslist: ["last 5 version"],
                cascade: true
            })
        )
        .pipe(app.plugins.remember("css"))
        .pipe(webpcss())
        .pipe(dest(app.path.build.css))
        .pipe(GulpCleanCss())
        .pipe(
            app.plugins.rename({
                extname: ".min.css"
            })
        )
        .pipe(app.gulp.dest(path.build.css))
        .pipe(app.plugins.browsersync.stream())
}

里面有app.plugins一些通用的插件,但这并不重要。这里

const sass = gulpSass(dartSass);

我保存了 gulpSass 函数并将编译器传递给它。也就是说,sass理论上是一个函数,但我得到一个错误sass is not a function。同时,本课(51:25) 中的一切对作者都有效,并且文档建议以这种方式连接和使用模块。

要在 ECMAScript 模块中使用 gulp-sass(在较新的 Node.js 14 及更高版本中受支持),请执行以下操作:

import dartSass from 'sass';
import gulpSass from 'gulp-sass';
const sass = gulpSass(dartSass);

用法

gulp-sass 必须在 Gulp 任务中使用。您的任务可以调用 sass()(异步渲染 CSS)或 sass.sync()(同步渲染 CSS)。

为什么我会收到错误消息?我该如何解决这个问题,我忽略了什么?

PS 对象位于sass:

DestroyableTransform {
  _readableState: ReadableState {
    objectMode: true,
    highWaterMark: 16,
    buffer: BufferList { length: 0 },
    length: 0,
    pipes: null,
    pipesCount: 0,
    flowing: null,
    ended: false,
    endEmitted: false,
    reading: false,
    sync: false,
    needReadable: true,
    emittedReadable: false,
    readableListening: false,
    resumeScheduled: false,
    destroyed: false,
    defaultEncoding: 'utf8',
    awaitDrain: 0,
    readingMore: false,
    decoder: null,
    encoding: null
  },
  readable: true,
  _events: [Object: null prototype] {
    end: [Function: bound onceWrapper] { listener: [Function: onend] },
    prefinish: [Function: prefinish]
  },
  _eventsCount: 2,
  _maxListeners: undefined,
  _writableState: WritableState {
    objectMode: true,
    highWaterMark: 16,
    finalCalled: false,
    needDrain: false,
    ending: false,
    ended: false,
    finished: false,
    destroyed: false,
    decodeStrings: true,
    defaultEncoding: 'utf8',
    length: 0,
    writing: false,
    corked: 0,
    sync: true,
    bufferProcessing: false,
    onwrite: [Function (anonymous)],
    writecb: null,
    writelen: 0,
    bufferedRequest: null,
    lastBufferedRequest: null,
    pendingcb: 0,
    prefinished: false,
    errorEmitted: false,
    bufferedRequestCount: 0,
    corkedRequestsFree: CorkedRequest {
      next: null,
      entry: null,
      finish: [Function (anonymous)]
    }
  },
  writable: true,
  allowHalfOpen: true,
  _transformState: {
    afterTransform: [Function: bound afterTransform],
    needTransform: false,
    transforming: false,
    writecb: null,
    writechunk: null,
    writeencoding: null
  },
  _destroyed: false,
  _transform: [Function (anonymous)],
  [Symbol(kCapture)]: false
}

节点 js 版本 - 14.17.6 Gulp4.0.2

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Konstantin_SH
    2022-06-08T18:50:38Z2022-06-08T18:50:38Z

    我不知道是什么问题。我清除了 npm 缓存,再次删除并安装了 sass 和 gulp-sass,没有任何帮助。

    我通过创建了一个新项目npm init,将其切换到模块模式,并在那里只导入了该功能所需的模块——一切正常。显然,该模块与我旧程序集中的其他模块冲突。剩下的我会慢慢安装,如果出现同样的错误,我会补充答案。

    • 0

相关问题

  • 第二个 Instagram 按钮的 CSS 属性

  • 由于模糊,内容不可见

  • 弹出队列。消息显示不正确

  • 是否可以在 for 循环中插入提示?

  • 如何将 JSON 请求中的信息输出到数据表 Vuetify vue.js?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5