Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie PHP, um Komponenten zu finden, die importiert, aber nicht in Vue verwendet wurden

So verwenden Sie PHP, um Komponenten zu finden, die importiert, aber nicht in Vue verwendet wurden

不言
不言Original
2018-08-01 11:25:201525Durchsuche

Dieser Artikel führt Sie in die Verwendung von PHP ein, um importierte, aber nicht verwendete Komponenten in Vue zu finden. Ich hoffe, dass er für Freunde hilfreich ist.

Bei der Verwendung von Vue importieren wir manchmal aus verschiedenen Gründen einige Komponenten, verwenden sie aber letztendlich nicht. Deshalb habe ich diese PHP-Datei geschrieben, um die importierten, aber nicht verwendeten Komponenten herauszufinden.

Warum ist PHP

JavaScript kann nicht auf lokale Dateien zugreifen, ich kenne node.js nicht.
Wenn Sie PHP noch nie verwendet haben, es aber verwenden möchten. Sie können selbst eine PHP-Umgebung erstellen und Wamp mit einem Klick unter Windows installieren.

So verwenden Sie

Kopieren Sie den unteren Code, bearbeiten Sie die erste Zeile der check.php-Datei, ersetzen Sie den Inhalt in '' durch Ihren Quellpfad

const PATH = '你的vue项目的src路径';

Speichern unter check.php in das www-Verzeichnis und dann greift der Browser auf http://localhost/check.php zu

Code

<?php
const PATH = &#39;你的vue项目的src路径&#39;;

getPath(my_dir(PATH), PATH);
echo &#39;------------------------end------------------------&#39;;

// 遍历目录下所有文件夹和文件
function my_dir($dir)
{
    $files = array();
    if (@$handle = opendir($dir)) { //注意这里要加一个@,不然会有warning错误提示:)
        while (($file = readdir($handle)) !== false) {
            if ($file != ".." && $file != ".") { //排除根目录;
                if (is_dir($dir . "/" . $file)) { //如果是子文件夹,就进行递归
                    $files[$file] = my_dir($dir . "/" . $file);
                } else { //不然就将文件的名字存入数组;
                    $files[] = $file;
                }

            }
        }
        closedir($handle);
        return $files;
    } else {
        echo &#39;文件夹路径有误,请检查路径&#39;;
        exit(0);
    }
}

// 根据遍历的内容找出路径 如果是vue文件就遍历他
function getPath($t, $path = &#39;&#39;)
{
    if (is_array($t)) {
        foreach ($t as $k => $v) {
            if (is_array($v)) {
                getPath($v, $path . '/' . $k);
            } else if (is_string($v) && strpos($v, '.vue') !== false) {
                searchNoUseComponents($path . '/' . $v);
            }
        }
    }
}

// 把驼峰改成短横线分隔命名
function humpToLine($str)
{
    $str = lcfirst($str);
    $str = preg_replace_callback('/(([A-Z]|[0-9]){1})/', function ($matches) {
        return '-' . strtolower($matches[0]);
    }, $str);
    return $str;
}

// 寻找vue内导入却未使用的组件
function searchNoUseComponents($path)
{
    if (file_exists($path)) {
        $flag = 0;
        $myFile = fopen($path, 'r');
        $components = [];
        $originComponents = [];
        while (!feof($myFile)) {
            $line = fgets($myFile);
            if (strpos($line, 'components: {}') !== false) {
                break;
            } else if (strpos($line, 'components: {') !== false) {
                $flag = 1;
            } else if ($flag == 1 && strpos($line, '}') === false) {
                $components[] = humpToLine(trim(trim($line), ','));
                $originComponents[] = trim(trim($line), ',');
            } else if ($flag == 1 && strpos($line, '}') !== false) {
                break;
            }
        }
        fclose($myFile);
        $res = fopen($path, 'r');
        $vue = fread($res, filesize($path));
        foreach ($components as $k => $v) {
            if (strpos($vue, '<&#39; . $v) === false) {
                echo ltrim($path, PATH) . &#39; 内组件 &#39; . $originComponents[$k] . &#39; 导入但是未使用&#39; . "<br />";
            }
        }
    }
}

Empfohlene verwandte Artikel:

Wie zum Exportieren mit Vue Excel-Tabellenfunktion

Verwenden Sie Xdebug, um PHP-Programme zu analysieren und Leistungsengpässe zu finden

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP, um Komponenten zu finden, die importiert, aber nicht in Vue verwendet wurden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn