6

コピーするときに、別のファイルのプレースホルダーを置き換えようとしています。私の gruntfile は正常に動作しますが、プロセス オプションを追加して置換を行うと、動作しません。以下は、私の gruntfile の関連セクションです。

grunt.initConfig({

    copy: {
        js: {
            files: [{
                expand: true,
                cwd: 'src/wp-content/themes/pilau-starter/',
                src: ['**/*.js'],
                dest: 'public/wp-content/themes/pilau-starter/'
            }],
            options: {
                process: function ( content ) {
                    console.log( content );
                    content = content.replace( /pilauBreakpointLarge/g, breakpoints.large );
                    content = content.replace( /pilauBreakpointMedium/g, breakpoints.medium );
                    return content;
                }
            }
        },
    }

});

パスは、GitHub のコードのコンテキストで理解できます: https://github.com/pilau/starter (パブリック ディレクトリはスターター テーマであるため、リポジトリにコミットされません)。これらのパスは、元の Gruntfile の変数であり、他のすべてのタスクで正常に機能しています。

すべての変数が正常に設定されています。プロセス関数が実際に実行されているかどうかを確認するために を含めました。console.log( content )実行されていないように見えるので、基本的な構文だと思います。

これに対処しているように見える答え(https://stackoverflow.com/a/28600474/1087660)がありますが、私が知る限り、その方法は単に悪いJS構文です-どのようにマークされたのかわかりません右。

--verboseコピー タスクを実行した場合の出力:

Running "copy:js" (copy) task
Verifying property copy.js exists in config...OK
Files: src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Files: src/wp-content/themes/pilau-starter/js/flickity.js -> public/wp-content/themes/pilau-starter/js/flickity.js
Files: src/wp-content/themes/pilau-starter/js/global.js -> public/wp-content/themes/pilau-starter/js/global.js
Files: src/wp-content/themes/pilau-starter/js/modernizr.js -> public/wp-content/themes/pilau-starter/js/modernizr.js
Files: src/wp-content/themes/pilau-starter/js/picturefill.js -> public/wp-content/themes/pilau-starter/js/picturefill.js
Files: src/wp-content/themes/pilau-starter/js/respond.js -> public/wp-content/themes/pilau-starter/js/respond.js
Options: processContent=false, processContentExclude=[], process=undefined
Options: processContent=false, processContentExclude=[], process=undefined
Copying src/wp-content/themes/pilau-starter/js/admin.js -> public/wp-content/themes/pilau-starter/js/admin.js
Reading src/wp-content/themes/pilau-starter/js/admin.js...OK
Writing public/wp-content/themes/pilau-starter/js/admin.js...OK
4

2 に答える 2

0

processこれはオプションの問題ではないようですが、 srcThemeDir. copyタスクがファイルを見つけられない(したがってプロセス関数を呼び出さない)原因になっているように見えるので、それが何であるかを正確に把握するためにログに記録します。

于 2015-06-05T14:32:48.857 に答える