我已经通过npm install安装了节点模块,然后尝试在命令提示符下执行gulp sass-watch。之后,我得到以下回应。
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
Run Code Online (Sandbox Code Playgroud)
在gulp sass-watch之前尝试过这个
npm -g install gulp-cli
Run Code Online (Sandbox Code Playgroud) 使用node-sass在Arch Linux上获取此错误.我正在使用gulp-sass.
Node Sass does not yet support your current environment: Linux 64-bit with false
Run Code Online (Sandbox Code Playgroud)
版本
$ gulp -v
[19:43:15] CLI version 3.9.1
[19:43:15] Local version 3.9.1
$ npm -v
3.9.0
Run Code Online (Sandbox Code Playgroud)
节点
$ node -v
v6.2.0
Run Code Online (Sandbox Code Playgroud)
即使使用此命令npm rebuild node-sass也不会改变任何内容.
我正在使用VS2015和Gulp.我打开Task Runner Explorer并点击刷新,这显示在日志中:
Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
at Module._compile (module.js:456:26)
Run Code Online (Sandbox Code Playgroud)
所以我尝试cmd.exe /c gulp --tasks-simple在PowerShell中运行,在同一目录中,它工作正常 - 它返回一个任务列表.
我也能很好地运行与SASS相关的任务,所以我不确定为什么在通过VS运行而不是直接在命令行上运行SASS时会抱怨它.
visual-studio gulp gulp-sass vs-2015-preview task-runner-explorer
我正在努力设置libsass,因为它不像基于Ruby的转换器那样直截了当.有人可以解释如何:
我对包管理器的经验很少,对于任务运行者来说更是如此.
我目前有两个任务,都编译sass文件.我仍然希望将两个目录连接成单独的文件,但是如果我可以简单地创建一个负责所有sass编译的"sass"任务,那么它似乎更易于维护.
// Compile Our Sass
gulp.task('bootstrap-sass', function() {
return gulp.src('./public/bower/bootstrap-sass/lib/*.scss')
.pipe(sass())
.pipe(contact('bootstrap.css'))
.pipe(gulp.dest('./public/dist/css'));
});
gulp.task('site-sass', function() {
return gulp.src('./public/app/scss/*.scss')
.pipe(sass())
.pipe(contact('site.css'))
.pipe(gulp.dest('./public/dist/css'));
});
Run Code Online (Sandbox Code Playgroud)
更新:
我试过这个:
// Compile Our Sass
gulp.task('sass', function() {
var bootstrap = function() {
return gulp
.src('./public/bower/bootstrap-sass/lib/*.scss')
.pipe(sass())
.pipe(concat('bootstrap.css'))
.pipe(gulp.dest('./public/dist/css'));
};
var site = function() {
return gulp
.src('./public/src/scss/*.scss')
.pipe(sass())
.pipe(concat('site.css'))
.pipe(gulp.dest('./public/dist/css'));
};
return Promise.all([bootstrap, site]);
});
Run Code Online (Sandbox Code Playgroud)
但现在看来这两个文件都没有被编译.对我做错了什么建议?
我在使用这行代码时遇到错误
const sass = require('gulp-sass')(require('sass'));
Run Code Online (Sandbox Code Playgroud)
错误输出是:
Requiring external module babel-register
ReferenceError: require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and 'C:\xampp-clean\htdocs\myfirsttheme\package.json' contains "type": "module". T
o treat it as a CommonJS script, rename it to use the '.cjs' file extension.
Run Code Online (Sandbox Code Playgroud)
我变了
const sass = require('gulp-sass')(require('sass'));
Run Code Online (Sandbox Code Playgroud)
错误消失了,但我收到此错误:
Requiring external module babel-register
TypeError: Cannot read property 'prod' of undefined
Run Code Online (Sandbox Code Playgroud)
这行导致了错误:
const …Run Code Online (Sandbox Code Playgroud) 我尝试安装gulp-sass最新版本,npm i gulp-sass --save-dev 一开始我遇到了很多错误,但后来解决了。但是每当我尝试运行 gulp 时,我都会收到此错误:
Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
at module.exports (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\binding.js:13:13)
at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\gulp-sass\index.js:166:21)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
Run Code Online (Sandbox Code Playgroud)
我试图解决这个问题,npm rebuild node-sass --force但它也增加了错误。
Error: Node Sass does not yet support …Run Code Online (Sandbox Code Playgroud) 今天我尝试了解更多关于Google Web Starter Kit的信息,所以我按照这些说明操作,经过大量的斗争和问题后,我只是尝试启动本地服务器(我们将看到的第一个任务是:$ gulp serve.)并收到此错误:
C:\ gwsk> gulp发球
Error: Cannot find module 'lodash'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\gwsk\node_modules\browser-sync\node_modules\portsc
anner-plus\lib\index.js:3:9)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (C:\gwsk\node_modules\browser-sync\lib\utils.js:6:19)
Run Code Online (Sandbox Code Playgroud)
老实说,我完全迷失在这里,所以任何帮助都非常受欢迎.我是node.js的新手,为了吞咽,我只是想让它尝试GWSK但是变得头疼:( ...我是网页设计师而不是开发人员......
是否有必要使用.scss部分文件以下划线开头?文档指出partial应该以下划线开头,因为文件否则会编译为CSS文件.
但是我注意到gulp-sass将没有下划线的文件编译成一个完整的CSS文件就好了.
我试图将css和scss文件合并到我的构建目录中的main.css文件中.它的工作,但不是正确的顺序.scss文件中的样式属性需要位于main.css文件的底部,因此它们会覆盖其余部分.
我的Gulp任务看起来像这样:
//CSS
gulp.task('css', function () {
var cssTomincss = gulp.src(['dev/css/reset.css', 'dev/css/style.css','dev/css/typography.css', 'dev/css/sizes.css']);
var cssFromscss = gulp.src(['dev/css/*.scss'])
.pipe(sass());
return es.merge(cssTomincss, cssFromscss)
.pipe(concat('main.css'))
.pipe(minifyCSS())
.pipe(gulp.dest('build/css'))
});
Run Code Online (Sandbox Code Playgroud)
我首先用变量定义源代码.我正在使用gulp-sass插件将scss文件转换为普通的css(.pipe(sass)),然后将两者与es.merge函数合并并将它们连接到main.css中.
问题是,.scss文件的样式属性最终会出现在main.css文件的顶端.我需要他们在底部.所以他们需要在底部连接起来.
有关如何做到这一点的任何线索?