/ / Visual Studio 2015: docelowy katalog główny wwwroot / css / site.css nie został napisany, ponieważ nie znaleziono plików źródłowych. - gruntjs, visual-studio-2015

Visual Studio 2015: Miejsce docelowe wwwroot / css / site.css nie zostało zapisane, ponieważ nie znaleziono plików źródłowych. - gruntjs, visual-studio-2015

Próbuję użyć chrząknięcia w moim projekcie ASP, alez jakichkolwiek powodów dostaję głupi komunikat ostrzegawczy z Visual Studio. Jak widzisz, zadanie altany zostało wykonane, ale nie ma „zadań” i mniej zadań. Gruntfile.js i folder „wwwroot” znajdują się w tym samym folderze. Co jest nie tak?

To jest dane wyjściowe konsoli w Visual Studio 2015:

> cmd.exe /c grunt -b "c:TBWsrcBW" --gruntfile "c:TBWsrcBWgruntfile.js" bower
Running "bower:install" (bower) task
>> Installed bower packages
>> Copied packages to c:TBWsrcBWwwwrootlib
Done, without errors.
Process terminated with code 0.
> cmd.exe /c grunt -b "c:TBWsrcBW" --gruntfile "c:TBWsrcBWgruntfile.js" uglify_default
Running "uglify:uglify_target" (uglify) task
Process terminated with code 0.
>> Destination wwwroot/lib/angular/angular.js not written because src files were empty.
>> No files created.
Done, without errors.
> cmd.exe /c grunt -b "c:TBWsrcBW" --gruntfile "c:TBWsrcBWgruntfile.js" less
Running "less:dev" (less) task
>> Destination wwwroot/css/site.css not written because no source files were found.
Done, without errors.
Process terminated with code 0.

To jest mój gruntfile.js:

    grunt.initConfig({
bower: {
install: {
options: {
targetDir: "wwwroot/lib",
layout: "byComponent",
cleanTargetDir: false
}
}
},
uglify: {
uglify_target: {
files: {
"wwwroot/lib/angular/angular.js":["src/angular.min.js"]
}
}
},
less: {
dev: {
files: {
"wwwroot/css/site.css": ["less/site.less"]
},
options: {
sourceMap: true,
}
}
},
});

grunt.registerTask("default", ["bower:install"]);

grunt.loadNpmTasks("grunt-bower-task");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-less");

Odpowiedzi:

3 dla odpowiedzi № 1

Jesteś pewny "wwwroot/lib/angular/angular.js":["src/angular.min.js"] jest poprawne w kroku uglify? Uglify służy do minimalizowania plików, więc wyglądałoby na to, że zmieniono parametry docelowe i źródłowe. Dostajesz także wiadomość Destination wwwroot/lib/angular/angular.js not written because src files were empty. co również wydaje się wskazywać na to.

Mniej kroków wydaje się poprawne, ale nie można znaleźć mniejszej liczby plików, które próbujesz skompilować. Czy jesteś pewien, że site.less istnieje w mniejszym folderze?

Oto mniejsza część pliku pomruku, który właśnie mamnapisał, i wydaje się, że działa dobrze, chociaż uzyskanie sourcemap do wygenerowania jest nadal problemem. Jest to właściwie dokładny odpowiednik VS 2013 z zainstalowanym Web Essentials. Kompilowanie wszystkich mniejszych plików w folderze zawartości przy użyciu autoprefiksu dla obsługiwanych przeglądarek i ponowne umieszczenie pliku .css w folderze treści. Nie kompiluje mniej plików, które zaczynają się od _, ponieważ są to tylko zmienne /.

    less: {
development: {
options: {
paths: ["content"],
compress: true,
plugins: [
new (require("less-plugin-autoprefix"))({ browsers: ["IE >= 9, firefox > 10, last 2 Chrome versions, last 2 safari versions, last 2 ios versions"], map: { inline: false } })
]
},
files: [{
expand: true,
cwd: "content",
src: ["*.less", "!_*.less"],
dest: "content",
ext: ".css"
}]
}
},