Der Speicherort statischer Dateien wie CSS und JS in Laravel befindet sich im Stammverzeichnis der Website, öffentlich, aber ich möchte die Dateien in anderen Verzeichnissen ablegen, z. B. Ressourcen/Assets. Ich habe der Eintragsdatei den folgenden Code hinzugefügt public/index.php :
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
* 设置静态文件目录
*/
$app->bind('path.public', function() {
$path_public = base_path() . DIRECTORY_SEPARATOR . env('PATH_PUBLIC', 'public');
return $path_public;
});
Ich habe die Umgebungsvariablen in der .env-Datei festgelegt:
PATH_PUBLIC=resources/assets
Das mit der Hilfsfunktion public_path() gedruckte Ergebnis hat sich tatsächlich geändert in: Website-Stammverzeichnis/resources/assets. Als nächstes habe ich in diesem Verzeichnis ein neues Styles-Verzeichnis erstellt und in der Ansicht darauf verwiesen:
<link rel="stylesheet" href="{{ asset('styles/login.css') }}">
<link rel="stylesheet" href="<?php echo asset('styles/login.css') ?>">
Der Quellcode der Webseite lautet nach dem Parsen wie folgt:
<link rel="stylesheet" href="{{ asset('styles/login.css') }}">
<link rel="stylesheet" href="http://www.cx.com/styles/login.css">
Warum wird {{}} nicht analysiert? Möchten Sie eine Smarty-Erweiterung hinzufügen? Warum wurde der statische Dateilink nicht in /resources/assets geändert?
Ist es so schwierig, ein CSS einzuführen? . . Ich möchte in den Gelben Fluss springen. . . Bitten Sie um Antworten.
写个绝对路径不就行了
谢谢邀请。用绝对路径也可以,你可以定义一个常量来定义是什么环境的路径地址。用相对路径要开服务器配置的根目录是什么位置才可以用相对路径。
例如你css 文件放在public/css 下那么在页面上就是 /css/style.css的路径
js 的引入同上!
此方式引入前提是你需要将public 目录设为站点根目录!