Laravel 5:如何启用基于环境的 public 资源,例如 css、js、图像

Laravel 5: How to enable environment based public resources like css, js, images

我们已经在 laravel 5 上使用基于环境的配置和视图构建了一个多环境应用程序,现在当我们尝试使用基于环境的 public 资源(例如 css、js 时,问题就出现了和图像,因为它们位于 public 目录中,并且不会递归合并配置文件中的内容。我们能以某种方式通过环境设置等来控制它吗

例如: 我有两个功能几乎相同但在某些配置和设计上有所不同的域,例如 site_1 在顶部显示 header 导航链接,而 site_2 不显示 header顶部的导航链接,因此我们可以以某种方式在配置中管理它 site_1.config.settings.header 并将值设置为打开或关闭。

根据我的理解,您正在使用多个环境文件,这些文件会因部署而异,在 larvel 中,您可以覆盖环境文件中的环境变量,并且可以使用一个主环境文件来覆盖您可以定义的 .env 文件中的变量APP_ENV = site_1 并且可以创建名为 .site_1.env 的新环境文件并覆盖所有与该部署不同的环境变量。

关于 public 资源,您可以执行类似的配置方案,但正如您所知,这些文件不会递归合并,因此您可以在 public/site_1/filename.ext 和在模板中添加这些文件时,您可以将环境名称附加为目录以查找这些文件。

您可以使用主题包。喜欢