0

私は grunt を使用してコーヒー スクリプトをビルドし、プロジェクト内のファイルを減らしています。今、私はgulpに移行したいと思っています...しかし、私はいくつかの問題に直面しています.

すべてのソース ディレクトリと宛先ディレクトリへのパスを含むグローバル オブジェクトの場合、私のうなり声ファイルで。各タスクはこのパスを使用して、処理するファイルを見つけます。

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),   
    // Global configuration
    globalConfig: {
        //Source Paths
        src: {
            styleDirectory: "styles/",
            customStyleDirectory: '<%= globalConfig.src.styleDirectory %>_Custom/',
            scriptDirectory: "scripts/",
            customScriptDirectory: '<%= globalConfig.src.scriptDirectory %>_Custom/',
        },
        //Destination Paths
        dest: {
            outputRoot: "../",
            styleOutput: "<%= globalConfig.dest.outputRoot %>css/",
            scriptOutput: "<%= globalConfig.dest.outputRoot %>js/",
        }
    },
    // Compile coffee script to java script -----------------------------------------
    coffee: {
        options: { .. },
        customOut: {
            files: {
                '<%= globalConfig.dest.scriptOutput %>Main.js': [
                    '<%= globalConfig.src.customScriptDirectory %>_Root.coffee',
                    '<%= globalConfig.src.customScriptDirectory %>Logic/_Helpers.coffee',
                    '<%= globalConfig.src.customScriptDirectory %>**/*.coffee'
                ]
            }
        }
    }
});

どうすればこのようなことをgulpで行うことができますか? <%= %> が機能していないようです。

4

1 に答える 1

1

ほぼ同じ方法で、構成ファイルmultidimensional object内で fromを使用できます。gulpfile.js

var directories = {
    styles: 'styles/',
    scripts: 'scripts/',
    dest: 'dest/'
};

var paths = {
    src: {
        customStyles: directories.styles+'_Custom/',
        customScripts: directories.scripts+'_Custom/'
    },
    dest: {
        styles: directories.dest + directories.styles,
        scripts: directories.dest + directories.scripts
    }
};

次に、次のように Gulp タスク内からオブジェクトを参照できます。

gulp.task('styles', function() {
  return gulp.src(paths.src.styles + 'main.css')
    ...
});

// Rerun the task when a file changes
gulp.task('watch', function() {
  gulp.watch(paths.src.styles, ['styles']);
  ...
});
于 2015-05-07T07:38:26.373 に答える