运行简单的Laravel应用程序时是否需要大型的Vendor目录?

时间:2018-09-07 22:43:27

标签: laravel

我是Laravel的新手。当我最终将新的Web应用程序部署到主机/活动服务器时,我意识到将近5,000个文件已传输到该服务器。

我不传输node_modules依赖关系,所以它不是那些文件。因为我使用的是webpack(Laravel Mix),所以我不需要服务器上的node_modules依赖项,并且工作正常。

这里是更大的嫌疑犯。我是否需要在主机/实时服务器上使用它们?如果是这样,为什么我的Laravel Web应用程序的主要部分只有几页。

vendor/symfony = 1500 files
vendor/laravel = 900 files
vendor/mongodb = 500 files
vendor/nikic (php-parser) = 500 files
vendor/swiftmailer = 300 files
vendor/psy = 250 files

我意识到一旦部署了应用程序,我就可以调用composer install。但是在生产服务器上安装作曲家本身对我来说很奇怪。在这种情况下,我只希望在部署过程中传输文件。

大多数情况下,我想知道为什么我完全需要这些。它们只是所有Laravel Web应用程序所需的开销吗?

1 个答案:

答案 0 :(得分:0)

是的。这些文件用于生成运行您的应用程序所需的代码(依赖项)。例如,如果您删除了该文件夹,则将无法执行任何Laravel'Magic',例如使用Eloquent。尽管文件夹和文件很多,但有必要保留它们。

article很好地解释了供应商文件夹的确切含义。

  

注意:默认情况下,发布到GitHub时,此供应商文件夹为   忽略了。请在根目录中查看.gitignore file   您的应用程序。