找出vue里已经导入但是未使用的组件

这是什么

在使用vue的时候,有时候由于种种原因会使我们导入一些组件,最终却没有使用它。
于是我就编写了这个php文件来找出已经导入但是未使用的组件。

为什么是php

JavaScript不能访问本地文件,node.js我不会。
如果你没用过php,但是想使用。可以自己搭建一个php环境,Windows下个wamp可以一键安装。

怎么使用

复制底部代码,编辑check.php文件的第一行,替换''里的内容为你的src路径

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

保存为check.php到www目录下,然后游览器访问http://localhost/check.php

代码

 $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, '<' . $v) === false) {echo ltrim($path, PATH) . ' 内组件 ' . $originComponents[$k] . ' 导入但是未使用' . "
";}}} }
https://github.com/wangshanta...

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright www.122dh.com Rights Reserved.