Gruntjs Grunt wiredep wire能否在HTML文件中缩小版本

Gruntjs Grunt wiredep wire能否在HTML文件中缩小版本,gruntjs,bower,grunt-wiredep,Gruntjs,Bower,Grunt Wiredep,是否可以使用Grunt wiredep插件在HTML页面中注入小型版本的依赖项 目前这是不可能的 grunt wiredep的主要用途是方便地添加bower依赖项 如果要缩小bower文件,我建议您使用或。您可以在一个文件中缩小所有bower依赖项 例如,对于grunt usemin,您必须这样做 <!-- build:js js/vendor.js --> <!-- bower:js --> <!-- endbower --> <!-- endbuil

是否可以使用Grunt wiredep插件在HTML页面中注入小型版本的依赖项

目前这是不可能的

grunt wiredep的主要用途是方便地添加bower依赖项

如果要缩小bower文件,我建议您使用或。您可以在一个文件中缩小所有bower依赖项

例如,对于grunt usemin,您必须这样做

<!-- build:js js/vendor.js -->
<!-- bower:js -->
<!-- endbower -->
<!-- endbuild -->

这可以通过覆盖Grunfile.js配置中的wiredep文件类型设置来完成

以下内容将所有*.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}}" />'
            }
        }
    }
}
wiredep:{
任务:{
src:[
“public_html/***.html”、//.html支持。。。
// ...
],
},
文件类型:{
html:{
块:/([\t]*)(\n |\r |。)*?()/gi,
检测:{
js://的工作版本(无法使其工作,但它激发了我写这篇文章的灵感)加上一个增强功能,用于处理在不同位置提供的
.min.js
文件时的情况:

task: {
    src:'public_html/**/*.html',
    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 filePathStr = '', path = require('path'), pattern = /min.js/g;
                    // libDirectory would always be 'bower_components/libname'
                    var libDirectory = filePath.split('/').slice(0,2).join('/');
                    var minFilename = path.posix.basename(filePath).replace('.js','.min.js');

                    if (!pattern.test(filePath)) {
                        if(!grunt.file.exists(filePath.replace('.js','.min.js'))){
                            // need to have the normal lib file in case min version wasn't available at all
                            filePathStr = filePath;
                            // recursively executes the callback function for every file in lib directory(libDirectory)
                            grunt.file.recurse(libDirectory, function callback(abspath, rootdir, subdir, filename) {
                                if( filename === minFilename )
                                    filePathStr = abspath;
                            });
                        } else {
                            // if min exists in the same dir then so be it
                            filePathStr = filePath.replace('.js','.min.js');
                        }
                    } else {
                        // some packages main attribute is pointed to min version already
                        filePathStr = filePath;
                    }
                    return '<script src="' + filePathStr + '"></script>';
                },
                css: '<link rel="stylesheet" href="{{filePath}}" />'
            }
        }
    }
}
任务:{
src:'public_html/***.html',
文件类型:{
html:{
块:/([\t]*)(\n |\r |。)*?()/gi,
检测:{
js:/可能的副本