[英]Yii2 CSS to asset folder
我的web/css/
中有我的site.css
我在這里宣布
namespace frontend\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.min.css'
];
}
我如何讓AssetBundle
將其復制到資產文件夾中以使其看起來像這樣
<link href="/frontend/web/assets/2edj2hj2jk/css/site.css" rel="stylesheet">
而不是這個?
<link href="/frontend/web/css/site.css" rel="stylesheet">
還是有其他方法可以實現這一目標? 基本上我希望web/css
、 web/images
和web/js
中的所有內容都保存在 assets 文件夾中
如果您真的想將這些資源復制到/web/assets
文件夾中,那么您需要做的就是使用$sourcePath
屬性而不是$basePath
和@baseUrl
屬性。
您應該將您的images
、 css
和js
文件夾從web
文件夾移動到其他位置,因為AssetManager
將復制$sourcePath
中引用的文件夾的全部內容。
假設您將其移至frontend/resources
。
namespace frontend\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
public $sourcePath = '@frontend/resources';
public $css = [
'css/site.min.css'
];
}
但事實上你不應該這樣做。 AssetManager
將資源復制到web/assets
文件夾中,以允許直接訪問通常無法訪問的文件,因為它們隱藏在widgets
、 modules
或vendor
文件夾中。 如果您的資源文件已經在web
服務器公開的 web 文件夾中,則無需將它們復制到其他地方。
您甚至會使從視圖文件中引用圖像變得更加困難,因為web/assets
文件夾的哈希子文件夾的名稱不是固定的,並且它可以在您的資源文件更改時更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.