/ / Visual Studio 2015: Destino wwwroot / css / site.css não gravado porque nenhum arquivo de origem foi encontrado. - gruntjs, estúdio de visual-2015

Visual Studio 2015: Destino wwwroot / css / site.css não gravado porque nenhum arquivo de origem foi encontrado. - gruntjs, visual-studio-2015

Estou tentando usar o grunhido no meu projeto ASP, maspor qualquer motivo, receba uma mensagem de aviso estúpida do Visual Studio. Como você pode ver abaixo, a tarefa do caramanchão foi executada, mas não possui tarefas "uglify" e menos. O Gruntfile.js e a pasta "wwwroot" estão na mesma pasta. O que há de errado?

Esta é a saída do console no 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.

Este é o meu 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");

Respostas:

3 para resposta № 1

Você tem certeza "wwwroot/lib/angular/angular.js":["src/angular.min.js"] está correto em sua etapa de uglify? O Uglify é para minificar arquivos, portanto, parece que você tem os parâmetros de destino e de origem invertidos. Você também está recebendo a mensagem Destination wwwroot/lib/angular/angular.js not written because src files were empty. o que parece indicar isso também.

A etapa menos parece correta, mas não consegue encontrar o arquivo less que você está tentando compilar. Tem certeza de que site.less existe em uma pasta less?

Aqui está a menor parte do arquivo grunhido que acabei deescreveu, e parece funcionar bem, embora fazer o mapa de origem realmente gerar ainda seja um problema. Isso é quase um equivalente exato do VS 2013 com Web Essentials instalado. Compilar todos os menos arquivos na pasta de conteúdo usando autoprefix para os navegadores que suportamos e colocar o .css de volta na pasta de conteúdo. Ele não compila nenhum arquivo que comece com _, pois esses são apenas inclusões / variáveis.

    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"
}]
}
},