0

保存時に Sass コードと JavaScript を監視およびコンパイルするための grunt ファイルを作成しました。これは JavaScript 部分ではうまく機能しますが、Sass のコンパイル時にどこかで失敗し、ディレクトリとファイル名が正しく指定されていても、使用するソース ファイルを見つけることができません。

私が受け取るエラーは次のとおりです。

Running 'sass:dist' <sass> task 
Errno:ENOENT No such file or directory - Content/site.scss

これは私のGruntファイルです:

module.exports = function(grunt) {

  var jsSource = [
    'Scripts/jquery-1.10.2.js',
    'Scripts/jquery.cookie.js',
    'Scripts/respond.1.1.0.js',
    'Scripts/jquery-ui-1.10.3.custom.js',
    'Scripts/script-compensation.js',
    'Scripts/webtrends.load.js'
  ];
  var jsDebug = 'scripts/site.js';
  var jsRelease = 'scripts/site.min.js';
  var jsWatchFiles = ['Scripts/script-compensation.js'];
  var cssWatchFiles = ['Content/*.scss'];
  var scssSource = ['Content/site.scss'];

  // Project configuration.
  grunt.initConfig({

    concat: {
      application: {
        src: jsSource,
        dest: jsDebug
      }
    },

    uglify: {
      options: {
        report: 'min'
      },
      application: {
        src: ['<%= concat.application.dest %>'],
        dest: jsRelease
      }
    },

   sass: {
        options: {
          style: 'expanded'
        },
        dist: {
            files: {
                'Content/site.css': scssSource
            }
        }
    },

    watch: {
      js: {
        files: jsWatchFiles,
        tasks: ['concat']
      },

      css: {
          files: cssWatchFiles,
          tasks: ['sass']
      } 
    }

  });


  // These plugins provide necessary tasks.
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-contrib-sass');
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-watch');

 grunt.registerTask("default", function(){
    grunt.log.writeln("grunt workflow task list:");
    grunt.log.writeln("\tgrunt watch - Watch js and scss");
    grunt.log.writeln("\t\tWindows: use 'start /d . grunt watch' for background process");
    grunt.log.writeln("\tgrunt debug - Build the debug files");
    grunt.log.writeln("\tgrunt release - Build the release files");
  });

  grunt.registerTask('debug', ['concat']);
  grunt.registerTask('release', ['concat', 'uglify']);
};

エラーはRuby自体から来ていると思いますが、確信が持てません。誰かがこれに遭遇しましたか? もしそうなら、私は何を修正することができますか? どんな助けでも大歓迎です。

4

1 に答える 1

1

File.expand_path() を使用するか、完全なパスを指定してみてください。

于 2013-10-10T18:26:36.060 に答える