gpt4 book ai didi

javascript - 如何在搜索 js 文件树时缩小 'skip' JavaScript 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:26 26 4
gpt4 key购买 nike

我经常在大型 js 树中搜索某些 Token。假设您正在寻找 js 文件中的所有“.prototype”标记。我会做这样的事情:

find . -name "*.js" |xargs grep "\.prototype"

粗略地说,这会在缩小的 vendor 库上产生大量点击。掩盖了我追求的真实结果。即:

this.animate(b,a,c,d)}}),p.speed=function(a,b,c)
{var d=a&&typeof a=="object"?p.extend({},a{com
plete:c||!c&&b||p.isFunction(a)&&a,duration:a,eas
ing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.of
f?0:typeof d.duration=="number"?d.duration:d.durat
ion in p.fx.speedsp.fx.speeds[d.duration]:p.fx.speeds._defa
ult;if(d.queue==null||d.queue===!0)d.queue="fx";return

这样的结果令人作呕。

那么我如何检测并“跳过”缩小的库?

注意:我通常会同时存储 vendor 库的缩小版和非缩小版,因此我会在 vendor 库中找到我正在寻找的匹配项。

是否有一些实用程序可以做到这一点?

最佳答案

不太完美的解决方案:我只是写了一个小的 bash 脚本来完成它。该脚本肯定会遗漏一些极端情况。但是它在我的环境中有效,而且我有很多我不想绊倒的缩小 vendor 库。

#!/bin/bash

my_magic_number=300

for fname in `find . -name "*.js"`; do
# Test the file to see if the last line is longer than... 300
character_count=$(tail -1 $fname |wc -m)
if [ $character_count -gt $my_magic_number ]; then
#echo " --> compressed: $fname"
:
else
grep --with-filename $1 $fname
fi
done
  • 将其放入文本文件 jsgrep
  • chmod 755 文件
  • 把它放在你的路上。

瓦拉:

$ cd /home/user/workspace/path/with/js/
$ jsgrep "\.prototype"

现在得到一些合理的输出:

./vendor/json2.js:        String.prototype.toJSON      =
./vendor/json2.js: Number.prototype.toJSON =
./vendor/bootstrap.js: Modal.prototype.escape = function () {
./vendor/bootstrap.js: Modal.prototype.removeBackdrop = function () {
./vendor/bootstrap.js: Modal.prototype.backdrop = function (callback) {
./vendor/backbone-1.0.0.js: if (protoProps) _.extend(child.prototype, protoProps);
./vendor/backbone-1.0.0.js: child.__super__ = parent.prototype;
./vendor/backbone.localStorage.js:_.extend(Backbone.LocalStorage.prototype, {
./vendor/underscore.js: var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;

关于javascript - 如何在搜索 js 文件树时缩小 'skip' JavaScript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com