4

Grunt wireep プラグインを使用して HTML ページに依存関係の縮小バージョンを挿入することは可能ですか?

4

3 に答える 3

2

これは、Gruntfile.js 構成の wireep fileTypes 設定をオーバーライドすることで実行できます。

以下は、すべての *.js ファイル名を *.min.js に置き換えます (名前を変更します)。

wiredep: {
    task: {
        src: [
            'public_html/**/*.html', // .html support...
            // ...
        ],
    },
    fileTypes: {
        html: {
            block: /(([ \t]*)<!--\s*bower:*(\S*)\s*-->)(\n|\r|.)*?(<!--\s*endbower\s*-->)/gi,
            detect: {
                js: /<script.*src=['"]([^'"]+)/gi,
                css: /<link.*href=['"]([^'"]+)/gi
            },
            replace: {
                js: function(filePath) {
                    var filePathStrArr = filePath.split('.');
                    var filePathStr = ''; //filePathStrArr[filePathStrArr.length-2];

                    if (filePathStrArr[filePathStrArr.length - 2] != 'min') {
                        filePathStrArr.pop();
                        filePathStr = filePathStrArr.join('.') + '.min.js';
                        if(!grunt.file.exists(filePathStr)){
                            //console.log('warning - file does not exist:'+filePathStr);
                            filePathStr = filePath; //if the .min.js file does not exist then revert back to original filename
                        }
                    } else {
                        filePathStr = filePath;
                    }
                    return '<script src="' + filePathStr + '"></script>';
                },
                css: '<link rel="stylesheet" href="{{filePath}}" />'
            }
        }
    }
}

これは、すべての JavaScript の場所に *.min.js ファイルがあることを前提としていることに注意してください。

于 2015-12-14T06:50:45.117 に答える
1

現時点では不可能です。

grunt-wiredep の主な用途は、bower の依存関係を簡単に追加することです。

bower ファイルを縮小したい場合は、grunt-useminまたはgrunt-html-buildを使用することをお勧めします。すべての bower 依存関係を 1 つのファイルに縮小できます。

たとえば、grunt-usemin では、これを行う必要があります。

<!-- build:js js/vendor.js -->
<!-- bower:js -->
<!-- endbower -->
<!-- endbuild -->
于 2015-03-05T08:40:31.697 に答える