Maison  >  Article  >  interface Web  >  Comment utiliser PHP pour rechercher des composants importés mais non utilisés dans Vue

Comment utiliser PHP pour rechercher des composants importés mais non utilisés dans Vue

不言
不言original
2018-08-01 11:25:201525parcourir

Cet article vous présente l'utilisation de PHP pour rechercher des composants importés mais non utilisés dans Vue. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Lors de l'utilisation de vue, parfois pour diverses raisons, nous importons certains composants mais finissons par ne pas les utiliser. J'ai donc écrit ce fichier php pour connaître les composants importés mais inutilisés.

Pourquoi php

JavaScript ne peut-il pas accéder aux fichiers locaux, je ne connais pas node.js.
Si vous n'avez jamais utilisé php, mais que vous souhaitez l'utiliser. Vous pouvez créer vous-même un environnement php et wamp peut être installé sous Windows en un seul clic.

Comment utiliser

Copiez le code du bas, modifiez la première ligne du fichier check.php, remplacez le contenu dans '' par votre chemin src

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

Enregistrez sous check.php dans le répertoire www, puis accédez à http://localhost/check.php

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 />";
            }
        }
    }
}

Articles connexes recommandés :

Comment utiliser Vue pour exporter les fonctions de tableaux Excel

Utiliser Xdebug pour analyser les programmes PHP et trouver les goulots d'étranglement des performances

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn