Gulp 没有将 scss 转换为 css
Gulp is not converting scss to css
在 Visual Studio 中,Gulp 不是 运行 将我的 scss
文件转换为 css
。
我得到的错误是:
cmd.exe /c gulp --tasks-simple C:\Users\sam\Documents\Visual Studio
2017\Projects\MyProject\MyProject\node_modules\node-sass\lib\binding.js:15
throw new Error(errors.missingBinary());
^ Error: Missing binding C:\Users\sam\Documents\Visual Studio 2017\Projects\MyProject\MyProject\node_modules\node-sass\vendor\win32-x64-47\binding.node
Node Sass could not find a binding for your current environment:
Windows 64-bit with Node.js 5.x Found bindings for the following
environments:
- Windows 64-bit with Node.js 7.x This usually happens because your environment has changed since running npm install
. Run npm rebuild node-sass
to build the binding for your current environment.
我在项目文件夹的根目录下做了 运行 npm rebuild node-sass
,但仍然出现相同的错误。这是我在 运行ning npm rebuild node-sass
:
之后得到的
Binary found at C:\Users\sam\Documents\Visual Studio
2017\Projects\MyProject\MyProject\node_modules\node-sass\vendor\win32-x64-51\binding.node
Testing binary Binary is fine node-sass@3.13.1
C:\Users\sam\Documents\Visual Studio
2017\Projects\MyProject\MyProject\node_modules\node-sass
我的 Gulpfile.js
看起来像这样:
var gulp = require('gulp'),
sass = require("gulp-sass");;
gulp.task('default', function () {
// place code for your default task here
});
gulp.task("sass", function () {
return gulp.src('wwwroot/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('wwwroot/css'));
});
知道如何解决这个问题吗?
更新:
如果我在命令行中 运行 node -v
,我会得到 v7.10.0
.
此外,我找到了这篇文章并按照说明进行操作,但问题仍未解决,我现在也发现我的项目中的 Bower 存在问题。
这是文章:
https://ryanhayes.net/synchronize-node-js-install-version-with-visual-studio-2015/
这是我在我的项目中看到的:
如果我在 Visual Studio 中单击 "Manage Bower Packages",它只是试了又试,但似乎找不到已安装的软件包。
更新 2:
这是`package.json':
{
"name": "ingrid",
"version": "1.0.0",
"description": "Ingrid frontend",
"scripts": {
"start": "webpack-dev-server --port 43131",
"build": "webpack",
"build-production": "webpack --process -p"
},
"dependencies": {
"chart.js": "^2.1.6",
"filepicker-js": "^2.4.14",
"fine-uploader": "^5.14.2",
"fine-uploader-wrappers": "1.0.0",
"immutable": "^3.7.6",
"imports-loader": "^0.6.5",
"moment": "^2.14.1",
"object-assign": "4.1.1",
"react": "^15.5.4",
"react-addons": "^0.9.0",
"react-addons-css-transition-group": "^15.5.2",
"react-chartjs": "^0.7.3",
"react-dom": "^15.5.4",
"react-flip-move": "^2.4.1",
"react-masonry-component": "^4.1.0",
"react-perfect-scrollbar": "^0.1.1",
"react-redux": "^4.4.0",
"react-tinymce": "^0.4.0",
"redux": "^3.3.1",
"redux-thunk": "^1.0.3",
"tinymce": "^4.4.0"
},
"devDependencies": {
"babel-cli": "6.23.0",
"babel-core": "^6.24.1",
"babel-eslint": "7.2.0",
"babel-loader": "6.4.1",
"babel-plugin-rewire": "1.0.0",
"babel-polyfill": "^6.9.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-stage-2": "^6.22.0",
"babel-plugin-syntax-class-properties": "6.13.0",
"babel-plugin-transform-class-properties": "6.23.0",
"babel-plugin-transform-object-rest-spread": "6.23.0",
"css-loader": "0.27.3",
"es6-promise": "4.1.0",
"eslint": "3.18.0",
"eslint-plugin-react": "6.10.3",
"extract-text-webpack-plugin": "2.1.0",
"exports-loader": "^0.6.3",
"gulp": "3.8.11",
"gulp-concat": "2.5.2",
"gulp-cssmin": "0.1.7",
"gulp-sass": "^2.3.2",
"gulp-uglify": "1.2.0",
"pica": "2.0.8",
"react-hot-loader": "^1.3.0",
"rimraf": "2.2.8",
"style-loader": "^0.18.1",
"webpack": "^2.6.1",
"webpack-node-externals": "^1.6.0",
"webpack-dev-server": "^2.4.5",
"whatwg-fetch": "^1.0.0"
}
}
cnpm install gulp-load-plugins --save-dev
然后修改gulpfile
var gulp = require('gulp'),
sass = require("gulp-sass"),
gulpLoadPlugins = require('gulp-load-plugins'),
$ = gulpLoadPlugins();
gulp.task('default', function () {
// place code for your default task here
});
gulp.task("sass", function () {
return gulp.src('wwwroot/scss/style.scss')
.pipe($.sass())
.pipe(gulp.dest('wwwroot/css'));
});
这里是 gulp 任务示例,其中包含管道工、源地图和 sass 选项。
var gulp = require('gulp');
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');
var rename = require('gulp-rename');
gulp.task('css', function () {
return gulp.src(path.styles)
.pipe(plumber())
.pipe(sourcemaps.init('.'))
.pipe(sass({outputStyle: 'compressed'})
.on('error', sass.logError))
.pipe(rename(function(path) {
path.extname = '.min.css';
}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/assets/css'))
});
在 Visual Studio 中,Gulp 不是 运行 将我的 scss
文件转换为 css
。
我得到的错误是:
cmd.exe /c gulp --tasks-simple C:\Users\sam\Documents\Visual Studio 2017\Projects\MyProject\MyProject\node_modules\node-sass\lib\binding.js:15 throw new Error(errors.missingBinary()); ^ Error: Missing binding C:\Users\sam\Documents\Visual Studio 2017\Projects\MyProject\MyProject\node_modules\node-sass\vendor\win32-x64-47\binding.node Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 5.x Found bindings for the following environments: - Windows 64-bit with Node.js 7.x This usually happens because your environment has changed since running
npm install
. Runnpm rebuild node-sass
to build the binding for your current environment.
我在项目文件夹的根目录下做了 运行 npm rebuild node-sass
,但仍然出现相同的错误。这是我在 运行ning npm rebuild node-sass
:
Binary found at C:\Users\sam\Documents\Visual Studio 2017\Projects\MyProject\MyProject\node_modules\node-sass\vendor\win32-x64-51\binding.node Testing binary Binary is fine node-sass@3.13.1 C:\Users\sam\Documents\Visual Studio 2017\Projects\MyProject\MyProject\node_modules\node-sass
我的 Gulpfile.js
看起来像这样:
var gulp = require('gulp'),
sass = require("gulp-sass");;
gulp.task('default', function () {
// place code for your default task here
});
gulp.task("sass", function () {
return gulp.src('wwwroot/scss/style.scss')
.pipe(sass())
.pipe(gulp.dest('wwwroot/css'));
});
知道如何解决这个问题吗?
更新:
如果我在命令行中 运行 node -v
,我会得到 v7.10.0
.
此外,我找到了这篇文章并按照说明进行操作,但问题仍未解决,我现在也发现我的项目中的 Bower 存在问题。 这是文章: https://ryanhayes.net/synchronize-node-js-install-version-with-visual-studio-2015/
这是我在我的项目中看到的:
如果我在 Visual Studio 中单击 "Manage Bower Packages",它只是试了又试,但似乎找不到已安装的软件包。
更新 2:
这是`package.json':
{
"name": "ingrid",
"version": "1.0.0",
"description": "Ingrid frontend",
"scripts": {
"start": "webpack-dev-server --port 43131",
"build": "webpack",
"build-production": "webpack --process -p"
},
"dependencies": {
"chart.js": "^2.1.6",
"filepicker-js": "^2.4.14",
"fine-uploader": "^5.14.2",
"fine-uploader-wrappers": "1.0.0",
"immutable": "^3.7.6",
"imports-loader": "^0.6.5",
"moment": "^2.14.1",
"object-assign": "4.1.1",
"react": "^15.5.4",
"react-addons": "^0.9.0",
"react-addons-css-transition-group": "^15.5.2",
"react-chartjs": "^0.7.3",
"react-dom": "^15.5.4",
"react-flip-move": "^2.4.1",
"react-masonry-component": "^4.1.0",
"react-perfect-scrollbar": "^0.1.1",
"react-redux": "^4.4.0",
"react-tinymce": "^0.4.0",
"redux": "^3.3.1",
"redux-thunk": "^1.0.3",
"tinymce": "^4.4.0"
},
"devDependencies": {
"babel-cli": "6.23.0",
"babel-core": "^6.24.1",
"babel-eslint": "7.2.0",
"babel-loader": "6.4.1",
"babel-plugin-rewire": "1.0.0",
"babel-polyfill": "^6.9.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-react": "^6.24.1",
"babel-preset-stage-0": "^6.5.0",
"babel-preset-stage-2": "^6.22.0",
"babel-plugin-syntax-class-properties": "6.13.0",
"babel-plugin-transform-class-properties": "6.23.0",
"babel-plugin-transform-object-rest-spread": "6.23.0",
"css-loader": "0.27.3",
"es6-promise": "4.1.0",
"eslint": "3.18.0",
"eslint-plugin-react": "6.10.3",
"extract-text-webpack-plugin": "2.1.0",
"exports-loader": "^0.6.3",
"gulp": "3.8.11",
"gulp-concat": "2.5.2",
"gulp-cssmin": "0.1.7",
"gulp-sass": "^2.3.2",
"gulp-uglify": "1.2.0",
"pica": "2.0.8",
"react-hot-loader": "^1.3.0",
"rimraf": "2.2.8",
"style-loader": "^0.18.1",
"webpack": "^2.6.1",
"webpack-node-externals": "^1.6.0",
"webpack-dev-server": "^2.4.5",
"whatwg-fetch": "^1.0.0"
}
}
cnpm install gulp-load-plugins --save-dev
然后修改gulpfile
var gulp = require('gulp'),
sass = require("gulp-sass"),
gulpLoadPlugins = require('gulp-load-plugins'),
$ = gulpLoadPlugins();
gulp.task('default', function () {
// place code for your default task here
});
gulp.task("sass", function () {
return gulp.src('wwwroot/scss/style.scss')
.pipe($.sass())
.pipe(gulp.dest('wwwroot/css'));
});
这里是 gulp 任务示例,其中包含管道工、源地图和 sass 选项。
var gulp = require('gulp');
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');
var rename = require('gulp-rename');
gulp.task('css', function () {
return gulp.src(path.styles)
.pipe(plumber())
.pipe(sourcemaps.init('.'))
.pipe(sass({outputStyle: 'compressed'})
.on('error', sass.logError))
.pipe(rename(function(path) {
path.extname = '.min.css';
}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('./dist/assets/css'))
});