在grunt-php2html之后编辑js文件的src字符串

Edit src strings of js files after grunt-php2html

本文关键字:src 字符串 文件 js grunt-php2html 之后 编辑      更新时间:2023-09-26

我正在使用grunt-php2html将我的开发*.php文件编译成'客户端就绪'的*.html文件,它工作得很好。

我倾向于在开发版本(php)中使用未简化的文件,而在html中使用简化的文件。我通过grunt动态丑化,所以我的文件得到.min.附加到他们的文件名。

默认情况下,生成的html文件仍然具有没有.min.的文件名,因此,我必须通过选项将.js替换为.min.js,如下所示:

php2html: {
    options: {
        process: function(response, callback) {
            callback(response.replace(/'.js/g, '.min.js'));
        }
    }
}

然而,我看到了这种解决方案的缺点,因为字符串.js不仅可能出现在script标签的src属性中,而且还可能出现在正文文本中,当然我希望它保持不变。

所以我的问题是,我如何写一个正则表达式,使它只针对真正的 script标签。如果有人有任何建议或替代解决方案,我将非常高兴。

而不是寻找复杂的regular expression,我建议具体并利用JS文件夹的路径,其中所有最小化的JS文件。

这可以是一个例子:

var response = 'some .js here ... <script src="js/path/something.js"></script> another .js here';
var res = response.replace(/(src='"js'/path'/'w*)'.js/g, '$1.min.js');

请注意$1的用法,它获取第一组的值(括在括号中)以保持/维护正则表达式。