簡體   English   中英

Yii不會在更改時自動發布資產

[英]Yii not automatically publishing assets on change

我正在使用一個遠程Ubuntu網絡服務器進行開發的Yii項目。

我已經更改了通過AssetManager發布的Javascript文件。 該文件已上傳到Web服務器,但是AssetManager尚未檢測到新文件並重新發布資產。

標准建議是刪除資產文件夾的內容-但是,如果我刪除文件的已發布版本,則不能替換它-我只是在瀏覽器中收到找不到文件的錯誤。

我猜我某個地方的權限有誤,但是(因為它是開發服務器)即使更改為777也不能解決此問題-有人知道我如何讓AssetManager識別資產的變化嗎?

下面的AssetManager代碼:

$assetFolder = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('alias.path.to.folder'));
Yii::app()->clientscript->registerScriptFile($assetFolder.'/assetname.js');

嘗試通過以下方式發布文件:

$cs = Yii::app()->clientScript;
$cs->registerScriptFile(Yii::app()->getAssetManager()->publish('path/to/file.js'));

如果文件被更改,此功能會自動將文件發布到assets文件夾,並使用assets文件夾中腳本文件的適當路徑將<script>標記添加到HTML。

如果您嘗試發布文件夾,assetManager將不會遵循此文件夾中文件的更改,而只會發布一次。 或者,您可以在publish()函數中傳遞參數$ forceCopy來每次重新發布文件夾。

http://www.yiiframework.com/doc/api/1.1/CAssetManager#publish-detail

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM