Ich bin neu in diesem ganzen Grunt/Gulp-Setup, und ich versuche, eine einfache Lösung einzurichten. Mein JS, Html und CSS funktioniert von Art. Aber ich kann die SASS nicht richtig kompilieren. Es ist eine .NET-Kernanwendung, die die Datei BundleConfig.json
verwendet, die in meinem gulpfile.js
verwendet wird.Gulp Js & BundleConfig.json Sass nicht @Import kompilieren?
Meine CSS-Datei endet wie diese
@import"_variables.scss";@import"base.scss";
Ohne die SASS kompiliert wird, und ich bin jetzt stecken.
Hier ist meine bundleconfig.json
[
{
"outputFileName": "wwwroot/css/sass.min.css",
"inputFiles": [
"sass/main.scss"
]
},
{
"outputFileName": "wwwroot/css/all.min.css",
"inputFiles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/bootstrap/dist/css/bootstrap-grid.min.css",
"wwwroot/css/sass.min.css"
]
},
{
"outputFileName": "wwwroot/js/all.min.js",
"inputFiles": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/jquery-validation/dist/jquery.validate.min.js",
"node_modules/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js",
"node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
"scripts/**/*.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]
Und hier ist mein gulpfile.js
"use strict";
var gulp = require("gulp"),
scsscompile = require("gulp-sass"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
htmlmin = require("gulp-htmlmin"),
uglify = require("gulp-uglify"),
merge = require("merge-stream"),
del = require("del"),
bundleconfig = require("./bundleconfig.json");
var regex = {
scss: /\.scss$/,
css: /\.css$/,
html: /\.(html|htm)$/,
js: /\.js$/
};
gulp.task("min", ["min:js", "min:scss", "min:css", "min:html"]);
gulp.task("min:js", function() {
var tasks = getBundles(regex.js).map(function (bundle) {
return gulp.src(bundle.inputFiles, { base: "." })
.pipe(concat(bundle.outputFileName))
.pipe(uglify())
.pipe(gulp.dest("."));
});
return merge(tasks);
});
gulp.task("min:scss", function() {
var tasks = getBundles(regex.scss).map(function (bundle) {
return gulp.src(bundle.inputFiles, { base: "." })
.pipe(concat(bundle.outputFileName))
.pipe(scsscompile({ includePaths: ['./sass'] }))
.pipe(gulp.dest("."));
});
return merge(tasks);
});
gulp.task("min:css", function() {
var cssTasks = getBundles(regex.css).map(function (bundle) {
return gulp.src(bundle.inputFiles, { base: "." })
.pipe(concat(bundle.outputFileName))
.pipe(cssmin())
.pipe(gulp.dest("."));
});
return merge(cssTasks);
});
gulp.task("min:html", function() {
var tasks = getBundles(regex.html).map(function (bundle) {
return gulp.src(bundle.inputFiles, { base: "." })
.pipe(concat(bundle.outputFileName))
.pipe(htmlmin({ collapseWhitespace: true, minifyCSS: true, minifyJS: true }))
.pipe(gulp.dest("."));
});
return merge(tasks);
});
gulp.task("clean", function() {
var files = bundleconfig.map(function (bundle) {
return bundle.outputFileName;
});
return del(files);
});
gulp.task("watch", function() {
getBundles(regex.js).forEach(function (bundle) {
gulp.watch(bundle.inputFiles, ["min:js"]);
});
getBundles(regex.scss).forEach(function (bundle) {
gulp.watch(bundle.inputFiles, ["min:scss"]);
});
getBundles(regex.css).forEach(function (bundle) {
gulp.watch(bundle.inputFiles, ["min:css"]);
});
getBundles(regex.html).forEach(function (bundle) {
gulp.watch(bundle.inputFiles, ["min:html"]);
});
});
function getBundles(regexPattern) {
return bundleconfig.filter(function (bundle) {
return regexPattern.test(bundle.outputFileName);
});
}
Meine Sass-Datei, die ich main.scss gerade diese Importe zu kompilieren versuche Sass-Dateien im selben Verzeichnis.
@import "_variables.scss";
@import "base.scss";
Wenn ich die Grunt-Aufgabe ausführen, bekomme ich das?
Erwartete Semikolon oder Schließen geschweiften Klammer, gefunden ‚-‘ Erwartete
Semikolon oder Schließen geschweiften Klammer, gefunden ‚-‘ Erwartete Semikolon oder
geschweiften-Klammer, gefunden ‚-‘ Unexpected Token gefunden '@import'
unerwartetes Token, gefunden ' "_variables.scss"' Unexpected Token gefunden
'@import' unerwartetes Token, gefunden ' "base.scss"'
Jede Hilfe würde geschätzt.