NodeJs:有没有办法弄清楚我的程序没有使用哪些模块?

时间:2017-12-28 23:01:02

标签: javascript node.js

原谅我,因为我对NodeJs还很陌生。

所以我有一个带有" node_modules"的NodeJs程序。包含大约70个模块的文件夹,我不记得添加了大部分模块。我试图找出如何轻松知道哪些我可以安全删除。有没有办法解决这个问题?我想我可以只查看代码顶部的导入,但有一些内部使用的是隐式导入的。

1 个答案:

答案 0 :(得分:1)

这些是让您的应用运行的模块。不要删除它们。一些对于安全很重要,一些对于解析等是必需的。如果您还没有安装某个模块,那么这意味着节点需要它在您的机器或服务器上运行。如果您自己安装并忘记了模块并希望它消失,那么您可以在SELECT m.id, m.title_name, m.release_date, m.plot, m.poster, (SELECT count(*) FROM users_ratings WHERE type_id = m.id AND type_name = 'movies' LIMIT 1) count_user_rating FROM (SELECT u.* FROM users u LEFT JOIN users_ratings ur ON ur.user_id = u.id WHERE ur.type_id = 2 AND ur.type_name = 'movies') u LEFT JOIN users_ratings ur ON ur.user_id = u.id LEFT JOIN movies m ON m.id = ur.type_id WHERE ur.type_name = 'movies' UNION SELECT s.id, s.title_name, s.first_air_date release_date, s.plot, s.poster, (SELECT count(*) FROM users_ratings WHERE type_id = s.id AND type_name = 'series' LIMIT 1) count_user_rating FROM (SELECT u.* FROM users u LEFT JOIN users_ratings ur ON ur.user_id = u.id WHERE ur.type_id = 2 AND ur.type_name = 'movies') u LEFT JOIN users_ratings ur ON ur.user_id = u.id LEFT JOIN series s ON s.id = ur.type_id WHERE ur.type_name = 'series' 找到已安装模块的地方。您导入的所有内容都应该在内部"依赖项"。如果你没有使用它们,那就意味着你没有使用它们。现在确保不仅要删除" node_modules"中的文件夹。但也要从" package.json"中删除名称。和" package.lock.json"