Lokasi fail statik seperti css dan js dalam laravel adalah dalam direktori akar laman web, awam, tetapi saya mahu meletakkan fail dalam direktori lain, seperti sumber/aset saya menambah kod berikut pada fail entri 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;
});
Saya menetapkan pembolehubah persekitaran dalam fail .env:
PATH_PUBLIC=resources/assets
Hasil yang dicetak dengan menggunakan fungsi helper public_path() sememangnya telah bertukar kepada: direktori root/sumber/aset tapak web Seterusnya, saya mencipta direktori gaya baharu dalam direktori ini dan merujuknya dalam paparan:
<link rel="stylesheet" href="{{ asset('styles/login.css') }}">
<link rel="stylesheet" href="<?php echo asset('styles/login.css') ?>">
Kod sumber halaman web selepas menghuraikan adalah seperti berikut:
<link rel="stylesheet" href="{{ asset('styles/login.css') }}">
<link rel="stylesheet" href="http://www.cx.com/styles/login.css">
Mengapa {{}} tidak dihuraikan? Ingin menambah sambungan pintar? Mengapa pautan fail statik tidak ditukar kepada /resources/assets?
Adakah begitu sukar untuk memperkenalkan css? . . Saya mahu terjun ke Sungai Kuning. . . Minta jawapan.
Hanya tulis laluan mutlak
Terima kasih atas jemputan. Anda juga boleh menggunakan laluan mutlak Anda boleh menentukan pemalar untuk menentukan alamat laluan persekitaran. Apabila menggunakan laluan relatif, apakah lokasi direktori akar untuk membuka konfigurasi pelayan Anda boleh menggunakan laluan relatif.
Sebagai contoh, jika fail css anda diletakkan di bawah public/css, maka laluan ke /css/style.css pada halaman
Pengenalan js adalah sama seperti di atas!
Prasyarat untuk kaedah ini ialah anda perlu menetapkan direktori awam sebagai direktori akar tapak!