@vite( 'resources/css/app.css' 'resources/js/app.js' ) is not working with laravel 9, vite 4.0.0

huangapple go评论85阅读模式
英文:

@vite( 'resources/css/app.css' 'resources/js/app.js' ) is not working with laravel 9, vite 4.0.0

问题

在Laravel 9应用程序中,我使用以下命令安装了Laravel auth(带有Jetstream Livewire和vite-4.0.0):

composer require laravel/jetstream

php artisan jetstream:install livewire

php artisan migrate
npm install
npm run dev
npm run build

在我的app.blade.phpguest.blade.php中,@vite('resources/css/app.css' 'resources/js/app.js') 不起作用。CSS和JS没有加载。

app.blade.php

  1. <!DOCTYPE html>
  2. <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="csrf-token" content="{{ csrf_token() }}">
  7. <title>{{ config('app.name', 'Laravel') }}</title>
  8. <!-- Fonts -->
  9. <link rel="preconnect" href="https://fonts.bunny.net">
  10. <link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" />
  11. <!-- Scripts -->
  12. @vite(['resources/css/app.css', 'resources/js/app.js'])
  13. <!-- Styles -->
  14. @livewireStyles
  15. </head>
  16. <body>
  17. <div class="font-sans text-gray-900 antialiased">
  18. {{ $slot }}
  19. </div>
  20. @livewireScripts
  21. </body>
  22. </html>

我已尝试此问题的解决方案,但没有效果。

英文:

In Laravel 9 app, I installed Laravel auth (with Jetstreem livewire & vite-4.0.0) using the following commands:

composer require laravel/jetstream

php artisan jetstream:install livewire

php artisan migrate
npm install
npm run dev
npm run build

In my app.blade.php and guest.blade.php @vite( 'resources/css/app.css' 'resources/js/app.js' ) is not working. CSS & JS is not loading.

app.blade.php

  1. &lt;!DOCTYPE html&gt;
  2. &lt;html lang=&quot;{{ str_replace(&#39;_&#39;, &#39;-&#39;, app()-&gt;getLocale()) }}&quot;&gt;
  3. &lt;head&gt;
  4. &lt;meta charset=&quot;utf-8&quot;&gt;
  5. &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
  6. &lt;meta name=&quot;csrf-token&quot; content=&quot;{{ csrf_token() }}&quot;&gt;
  7. &lt;title&gt;{{ config(&#39;app.name&#39;, &#39;Laravel&#39;) }}&lt;/title&gt;
  8. &lt;!-- Fonts --&gt;
  9. &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.bunny.net&quot;&gt;
  10. &lt;link href=&quot;https://fonts.bunny.net/css?family=figtree:400,500,600&amp;display=swap&quot; rel=&quot;stylesheet&quot; /&gt;
  11. &lt;!-- Scripts --&gt;
  12. @vite([&#39;resources/css/app.css&#39;, &#39;resources/js/app.js&#39;])
  13. &lt;!-- Styles --&gt;
  14. @livewireStyles
  15. &lt;/head&gt;
  16. &lt;body&gt;
  17. &lt;div class=&quot;font-sans text-gray-900 antialiased&quot;&gt;
  18. {{ $slot }}
  19. &lt;/div&gt;
  20. @livewireScripts
  21. &lt;/body&gt;
  22. &lt;/html&gt;

I have tried the solutions of This Question but nothing worked.

答案1

得分: 0

你是否也将它们添加到了 vite.config.js 中,并设置了相应的路径?

  1. import { defineConfig } from 'vite';
  2. import laravel from 'laravel-vite-plugin';
  3. export default defineConfig(
  4. {
  5. plugins: [
  6. laravel({
  7. input: [
  8. 'resources/admin/scss/style.scss',
  9. 'resources/css/app.css',
  10. 'resources/js/app.js',
  11. ],
  12. refresh: true,
  13. }),
  14. ],
  15. });
英文:

Did you added them too into vite.config.js with corresponding path

  1. import { defineConfig } from &#39;vite&#39;;
  2. import laravel from &#39;laravel-vite-plugin&#39;;
  3. export default defineConfig(
  4. {
  5. plugins: [
  6. laravel({
  7. input: [
  8. &#39;resources/admin/scss/style.scss&#39;,
  9. &#39;resources/css/app.css&#39;,
  10. &#39;resources/js/app.js&#39;,
  11. ],
  12. refresh: true,
  13. }),
  14. ],
  15. });
  16. </details>
  17. # 答案2
  18. **得分**: 0
  19. 以下是翻译好的部分:
  20. 问题出在 **app.css** 上。 Vite 配置在没有 CSS 的情况下运行得很好。
  21. 这是解决方案:
  22. 1. **vite.config.js**
  23. ---------------------
  24. **vite.config.js** 中移除 `&#39;resources/js/app.css&#39;`
  25. ```javascript
  26. import { defineConfig } from &#39;vite&#39;;
  27. import laravel, { refreshPaths } from &#39;laravel-vite-plugin&#39;;
  28. export default defineConfig({
  29. plugins: [
  30. laravel({
  31. input: [
  32. &#39;resources/js/app.js&#39;,
  33. ],
  34. refresh: [
  35. ...refreshPaths,
  36. &#39;app/Http/Livewire/**&#39;,
  37. ],
  38. }),
  39. ],
  40. });
  1. resources/js/app.js 中添加 CSS

  1. import &#39;../css/app.css&#39;;

像这样:

  1. import &#39;./bootstrap&#39;
  2. import &#39;../css/app.css&#39;;
  3. import Alpine from &#39;alpinejs&#39;;
  4. import focus from &#39;@alpinejs/focus&#39;;
  5. window.Alpine = Alpine;
  6. Alpine.plugin(focus);
  7. Alpine.start();
  1. 在视图中使用 @vite

因为我们的 CSS 已经被导入到我们的 app.js 中,所以我们只需要在我们的布局视图文件 app.blade.phpguest.blade.php 中使用

  1. @vite(&#39;resources/js/app.js&#39;)
  1. <!DOCTYPE html>
  2. <html lang="{{ str_replace(&#39;_&#39;, &#39;-&#39;, app()->getLocale()) }}">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <meta name="csrf-token" content="{{ csrf_token() }}">
  7. <title>{{ config(&#39;app.name&#39;, &#39;Laravel&#39;) }}</title>
  8. <!-- Fonts -->
  9. <link rel="preconnect" href="https://fonts.bunny.net">
  10. <link href="https://fonts.bunny.net/css?family=figtree:400,500,600&amp;display=swap" rel="stylesheet" />
  11. <!-- Styles -->
  12. @livewireStyles
  13. @vite(&#39;resources/js/app.js&#39;)
  14. </head>
  15. <body>
  16. <div class="font-sans text-gray-900 antialiased">
  17. {{ $slot }}
  18. </div>
  19. </body>
  20. </html>
  1. 构建您的应用程序

运行 npm run build

注意:

如果需要,使用 php optimize:clear 进行缓存清理。

英文:

The problem is with app.css. Vite config works great without CSS.

Here's the solution:

  1. vite.config.js

Remove &#39;resources/js/app.css&#39; from vite.config.js

  1. import { defineConfig } from &#39;vite&#39;;
  2. import laravel, { refreshPaths } from &#39;laravel-vite-plugin&#39;;
  3. export default defineConfig({
  4. plugins: [
  5. laravel({
  6. input: [
  7. &#39;resources/js/app.js&#39;,
  8. ],
  9. refresh: [
  10. ...refreshPaths,
  11. &#39;app/Http/Livewire/**&#39;,
  12. ],
  13. }),
  14. ],
  15. });
  1. Add CSS to resources/js/app.js

  1. `import &#39;../css/app.css&#39;;`

Like

  1. import &#39;./bootstrap&#39;;
  2. import &#39;../css/app.css&#39;;
  3. import Alpine from &#39;alpinejs&#39;;
  4. import focus from &#39;@alpinejs/focus&#39;;
  5. window.Alpine = Alpine;
  6. Alpine.plugin(focus);
  7. Alpine.start();
  1. Using @vite in views

Because our CSS is already imported into our app.js, we will only use

  1. @vite(&#39;resources/js/app.js&#39;)

in our layout view files: app.blade.php and guest.blade.php

  1. &lt;!DOCTYPE html&gt;
  2. &lt;html lang=&quot;{{ str_replace(&#39;_&#39;, &#39;-&#39;, app()-&gt;getLocale()) }}&quot;&gt;
  3. &lt;head&gt;
  4. &lt;meta charset=&quot;utf-8&quot;&gt;
  5. &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
  6. &lt;meta name=&quot;csrf-token&quot; content=&quot;{{ csrf_token() }}&quot;&gt;
  7. &lt;title&gt;{{ config(&#39;app.name&#39;, &#39;Laravel&#39;) }}&lt;/title&gt;
  8. &lt;!-- Fonts --&gt;
  9. &lt;link rel=&quot;preconnect&quot; href=&quot;https://fonts.bunny.net&quot;&gt;
  10. &lt;link href=&quot;https://fonts.bunny.net/css?family=figtree:400,500,600&amp;display=swap&quot; rel=&quot;stylesheet&quot; /&gt;
  11. &lt;!-- Styles --&gt;
  12. @livewireStyles
  13. @vite(&#39;resources/js/app.js&#39;)
  14. &lt;/head&gt;
  15. &lt;body&gt;
  16. &lt;div class=&quot;font-sans text-gray-900 antialiased&quot;&gt;
  17. {{ $slot }}
  18. &lt;/div&gt;
  19. &lt;/body&gt;
  20. &lt;/html&gt;
  1. Build your app

npm run build

Note:

Use php optimize:clear for cache cleaning, if needed.

huangapple
  • 本文由 发表于 2023年6月22日 16:12:04
  • 转载请务必保留本文链接:https://go.coder-hub.com/76529809.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定