让Laravel在开发计算机上加载备用公用文件夹

时间:2015-06-10 17:20:32

标签: php laravel public

我们有一个构建脚本可以最小化javascript / css,然后将其复制到公共文件夹中。

我喜欢的是开发盒从app文件夹加载文件,其中未经文明化的脚本存储在开发框中,但仍然在生产中运行最小化的脚本。

我从未做过什么:

- 改变公共路径:

if (App::environment() == 'development') {
    App::bind('path.public', function () {
        return app_path() . '/unminimized';
    });
}

这适用于我们使用public_path()的任何地方,但是前端程序员使用相对路径而不是URL :: asset()(或诸如此类)来加载javascript(我们使用框架,所以这不是'易于改变)。他的javascript仍然是从公共文件夹

加载的

- 改变nginx: 我已经尝试将nginx中的root_path从/ website / public更改为/ website / code。这会正确加载javascript,但我的路线不会被激活。

有没有人有任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

如果修改nginx指向开发框上的/ website / code,然后将index.php文件从/ website / public复制到/ website / code,它应该修复你的路由。

您需要修改index.php中的以下行:

require __DIR__.'/../bootstrap/autoload.php';

$app = require_once __DIR__.'/../bootstrap/start.php';

匹配新位置,以便他们可以正确包含这些文件。

答案 1 :(得分:0)

似乎相当圆......

Lemme看看我是否先做对了,你是用预编译器语言写的东西(scss / sass / less / coffeescript)吗?

如果是这样,那么你应该对未经压缩的东西做什么并不重要:

  1. 您应该在推送部署之前测试缩小的代码
  2. 您不应该部署缩小代码和开发版本
  3. 我看到你解决这个问题的最简单的方法就是使用类似gulp-inject之类的东西写一个gulp任务,你可以传递一个标志--dev或--prod来管理你的刀片模板中插入哪些版本的文件(默认为--dev)。

    自然,编写类似的任务以撤消这些更改也是有好处的。

    然后,如果您想进一步拥有一个专门的VCS,并在不同的分支机构中管理您的开发和生产版本。