【问题标题】:Gulp-sass 5.0 how to use compiler with import() instead of require()?Gulp-sass 5.0 如何使用带有 import() 而不是 require() 的编译器?
【发布时间】:2021-09-11 12:34:00
【问题描述】:

Gulp-sass 最近更新到 5.0 版。他们说它不再包含编译器,他们说你必须单独安装。

他们有关于如何让 gulp-sass 要求编译器使用这段代码的文档。

var sass = require('gulp-sass')(require('sass'));

但我使用import() 而不是require(),我不知道如何将他们提供的require() 代码翻译成import()

这也是我得到的错误:

Error in plugin "gulp-sass"
Message:

gulp-sass 5 does not have a default Sass compiler; please set one yourself. 
Both the `sass` and `node-sass` packages are permitted.
For example, in your gulpfile:

  var sass = require('gulp-sass')(require('sass'));

现在我回滚到包含编译器的 4.1.1 版,但我想在某个时候将其更新到 5.0 版。

【问题讨论】:

    标签: sass gulp gulp-sass


    【解决方案1】:

    对我有用的是使用 npm install sass 不使用 -g。

    【讨论】:

      【解决方案2】:

      (来自错误描述)

      var sass = require('gulp-sass')(require('sass'));

      【讨论】:

        【解决方案3】:
        import gulpSass from "gulp-sass";
        import nodeSass from "node-sass";
            
        const sass = gulpSass(nodeSass);
        

        试试这个。 但我仍然不知道这是否是最好的。

        • 我知道“node-sass”应该被弃用。只是一个例子。 使用“dart-sass”或“sass”

        【讨论】:

        • gulpfile.js 不想添加导入如何解决问题? import gulpSass from "gulp-sass"; ^^^^^^ SyntaxError: Cannot use import statement outside a module
        【解决方案4】:

        来自sass github repository

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

        【讨论】:

          【解决方案5】:

          您不能在代码主体中使用 import 语句。必须在文件开头使用(见https://flexiple.com/javascript-require-vs-import/#:~:text=One%20of%20the%20major%20differences,js%20extension%20as%20opposed%20to%20.

          如果您或任何人正在寻找如何实现 gulp 代码。我在 Reddit https://www.reddit.com/r/webdev/comments/o9okup/error_with_gulpsass_setup/ 一个用户上找到了一个方向——“LessRain”提供了一个答案:

          要安装 node-sass,请在终端导航到您的项目目录 并运行这个命令: npm install gulp gulp-sass node-sass gulp-concat --save-dev

          然后你可以交换 sass = require('gulp-sass');对于 const 萨斯 = require("gulp-sass")(require("node-sass"));

          在我的例子中,代码进入了 gulpfile.js 文件,但由于它是语句的一部分,我不需要“const”

          let gulp = require('gulp'),sass = require("gulp-sass")(require("node-sass")),...
          

          【讨论】:

            猜你喜欢
            • 2016-01-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-01
            • 2019-03-27
            • 1970-01-01
            • 2019-08-31
            • 2020-04-12
            相关资源
            最近更新 更多