【问题标题】:Visual Studio 2015: Destination wwwroot/css/site.css not written because no source files were found.Visual Studio 2015:目标 wwwroot/css/site.css 未写入,因为未找到源文件。
【发布时间】:2015-05-12 11:17:18
【问题描述】:

我正在尝试在我的 ASP 项目中使用 grunt,但由于某种原因,我从 Visual Studio 收到了一条愚蠢的警告消息。 你怎么看下来, bower-task 已经执行了,但是还没有 uglify- 和 less-tasks。 Gruntfile.js 和文件夹“wwwroot”在同一个文件夹中。怎么了?

这是 Visual Studio 2015 中的控制台输出:

> cmd.exe /c grunt -b "c:\T\BW\src\BW" --gruntfile "c:\T\BW\src\BW\gruntfile.js" bower
Running "bower:install" (bower) task
>> Installed bower packages
>> Copied packages to c:\T\BW\src\BW\wwwroot\lib
Done, without errors.
Process terminated with code 0.
> cmd.exe /c grunt -b "c:\T\BW\src\BW" --gruntfile "c:\T\BW\src\BW\gruntfile.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:\T\BW\src\BW" --gruntfile "c:\T\BW\src\BW\gruntfile.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.

这是我的 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");

【问题讨论】:

    标签: gruntjs visual-studio-2015


    【解决方案1】:

    你确定"wwwroot/lib/angular/angular.js":["src/angular.min.js"] 在你的丑化步骤中是正确的吗? Uglify 用于缩小文件,因此看起来好像您的目标和源参数颠倒了。您还会收到消息Destination wwwroot/lib/angular/angular.js not written because src files were empty.,这似乎也表明了这一点。

    less 步骤似乎是正确的,但它找不到您要编译的 less 文件。您确定 site.less 存在于 less 文件夹中吗?

    这是我刚刚编写的 grunt 文件的较少部分,它似乎运行良好,尽管让 sourcemap 实际生成仍然是一个问题。这几乎完全等同于安装了 Web Essentials 的 VS 2013。使用我们支持的浏览器的自动前缀编译 content 文件夹中的所有 less 文件,并将 .css 放回 content 文件夹。它不会编译任何以 _ 开头的文件,因为它们只是包含/变量。

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

    【讨论】:

    • 非常感谢。你是对的,我实际上已经交换了目标和源参数。 应该是: ["src/angular.min.js"] : "wwwroot/lib/angular/angular.js"。我会将您的答案标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 2016-09-02
    • 2017-10-15
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多