2014-01-06 119 views
0

我正在嘗試讓codesleeve asset-pipeline在我的網站上工作。在浪費了一整天之後,我終於在我的本地開發服務器上工作了。我現在已經上傳了這個項目,看看在現場服務器上是否一切正常。猜猜看 - 沒有。我猜測問題是與環境設置有關,即:Laravel,codesleeve資產管道不工作

$env = $app->detectEnvironment(array(
'local' => array('your-machine-name'), 

));

所以,我已經改變了我的機器名稱,當我在我的本地服務器上,正如我所說,我有工作。所以在現場服務器上,這應該是什麼? 「localhost」 的?按照這個答案,我嘗試添加另一個'live'數組鍵'live'作爲根據這個答案:http://tinyurl.com/pg6hwum Nothing works。

此外,根據教程我下面:

當你在當地的環境,你會發現,所有的資源文件都將被單獨列入......一旦你在生產環境中,您的所有資產將被連接成一個。

這似乎並不是我的情況,因爲管道似乎是半工作的,即。它連接了我的js和css文件,但不知怎的搞亂了它們。

我真的很欣賞一些指針,因爲我現在已經浪費了大量的時間。謝謝。

回答

1

首先設置你的環境設置你的bootstrap/start.php文件弄成這個樣子:你需要檢查環境做什麼你laravel運行檢查,如果你的環境設置是否正常工作

$env = $app->detectEnvironment(array(

    'local'  => array('http://localhost', '*.local', 'http://local.sitename'), 
    'development' => array('http://dev.sitename.com'), 
    'production' => array('http://www.sitename.com', 'http://sitename.com'), 

)); 

二。通過這樣做:做that..you應該有現在的想法是什麼原因造成的codesleeve資產管道問題,使

App::environment() 

注:看到有關環境的文檔瞭解更多信息here

+0

RE找出您正在運行的環境:「php artisan env」在控制檯中。 – feitla

1

資產管道將開箱即用不同的表現時,對生產相比,到另一個環境(如本地)。我已經提出一個建議來記錄其中一些pain points and troubleshooting for new comers

如果您使用的是最新版本,那麼有交換環境時,兩大行爲更改:

  1. 緩存 - 生產資產緩存。這意味着,直到你做

    $> php artisan assets:clean

    這就是爲什麼你應該進行開發時,您的環境設置爲local當您載入您將這些資產被卡住的頁面。

  2. 縮小 - 資產僅在生產時縮小。這可能會導致問題,因爲縮寫詞有時會破壞代碼。有一些解決方法可以解決此問題。當我遇到某個特定文件時(例如Twitter Bootstrap),我通常會使用.min.css擴展名,然後由縮小器跳過,並按原樣寫出,原因是

請注意,這種行爲是開箱,並可以很容易地通過編輯您的配置進行修改。

$> php artisan config:publish codesleeve/asset-pipeline 

然後編輯你的文件app/config/packages/codesleeve/asset-pipeline/config.php。有關這些選項的更多信息,請訪問documentation here

希望這會有所幫助。