Gulp-sass 5.0如何用import()代替require()来使用编译器?

disbfnqx  于 2022-12-08  发布在  Gulp
关注(0)|答案(5)|浏览(149)

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版本。

5ssjco0h

5ssjco0h1#

import gulpSass from "gulp-sass";
import nodeSass from "node-sass";
    
const sass = gulpSass(nodeSass);

试试这个。但我还是不知道这是不是最好的。

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

mznpcxlj2#

sass github repository开始

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

eoigrqb63#

您不能在程式码主体中使用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安装大口大口-sass节点-sass大口-concat--保存-dev
然后你可以交换sass = require('gulp-sass');对于const sass =需要(“大口-sass”)(需要(“节点-sass”));
在我的例子中,该代码进入了gulpfile.js文件,但由于它是语句的一部分,因此不需要“const”

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

vsikbqxv4#

(from错误说明)
变量sass =需要('大口-sass')(需要('sass'));

u0sqgete

u0sqgete5#

对我有效的是使用npm安装sass而不是使用-g。

相关问题