[ 前端工程 ] 正则匹配script脚本节点.
最近很长一段时间一直在关注前端工程方面的问题。
思考上线之后文件合并的问题。 根据个人思考,合并部署文件主要分以下步骤: //1 读取文件,获取字符流 其中麻烦一点,可能就是扫描扫script问题。 自己琢磨得出两个正则匹配文件script节点如下,也算是对正则功力的一种提升吧: var reg = /<script[s]+[^>]+=[s]*[^>]+></script>/; var reg2 = /<script[s]+(?:[^>]+=[s]*[^>]+)*(?:src[s]*=[s]*['"]([^>]+(?:.js))['"])></script>/g; 第一个正则仅仅只是匹配<script>节点,并且包含属性。 第二个正则相对第一个要更加的准确,匹配script节点中,是否存在src属性,如不存在,那么可能只是script片段,并非外部引用的 这里需要注意几点: 1 [s]+ 表示必须存在空格,如 <script后面,不能直接跟属性,必须有空格隔开. 2 ?: 表示非捕捉匹配,是为了让 $1能正确的匹配到自己想到的元素,这里我更加想得到文件的具体路径。所以第一个括号,就不匹配了, 方便$1给直接获取,同时不捕捉也能提升效率。 至于其它的步骤,采用nodejs皆可以实现。 偶有所悟,谨防忘记。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |