akki-io / laravel-nova-assets
用于laravel nova管理所有相关资源的简单包。
v1.1
2021-12-25 18:37 UTC
Requires
- php: ^7.3|^8.0
- symfony/process: ^5.4|^6.0
This package is auto-updated.
Last update: 2024-08-28 07:29:07 UTC
README
Laravel Nova 搜索
此包提供了一个控制台命令,用于将动态JS/CSS转换为静态JS/CSS资源。
要求
- laravel-mix v6.0+
- php 7.3+
- laravel nova 3.0+
安装
您可以通过composer安装此包
composer require akki-io/laravel-nova-assets
发布包文件
php artisan vendor:publish --provider 'AkkiIo\LaravelNovaAssets\LaravelNovaAssetsServiceProvider'
这将发布
- 配置文件
config/laravel-nova-assets.php
和 - webpack文件
webpack.mix.nova.js
。
使用
要创建静态资源,该包提供了一个简单的控制台命令,它会为您完成这项工作。
运行
php artisan nova:mix
一旦执行了此命令,您需要更新laravel nova的auth布局 auth->layout.blade.php
和主布局 layout.blade.php
以使用编译后的资源。
- 复制auth布局
vendor/laravel/nova/resources/views/auth/layout.blade.php
到resources/views/vendor/nova/auth/layout.blade.php
- 复制主布局
vendor/laravel/nova/resources/views/layout.blade.php
到resources/views/vendor/nova/layout.blade.php
在两个文件中,都在 </head>
标签之上添加manifest文件。
<link rel="manifest" href="/vendor/laravel-nova-assets/mix-manifest.json">
替换以下新复制的文件中的这些部分。
原始内容
// Tool Styles @foreach(\Laravel\Nova\Nova::availableStyles(.... .... @endforeach
新内容
<link rel="stylesheet" href="{{ mix('tool-styles.css', 'vendor/laravel-nova-assets') }}">
原始内容
<!-- Theme Styles --> @foreach(\Laravel\Nova\Nova::themeStyles() ...) .... @endforeach
新内容
<link rel="stylesheet" href="{{ mix('theme-styles.css', 'vendor/laravel-nova-assets') }}">
原始内容
<!-- Tool Scripts --> @foreach (\Laravel\Nova\Nova::availableScripts(request()) ...) ..... @endforeach
新内容
<script src="{{ mix('tool-scripts.js', 'vendor/laravel-nova-assets') }}"></script>
如果您使用自定义脚本和样式,请相应地添加以下部分到这些文件中。
<link rel="stylesheet" href="{{ mix('custom-styles.css', 'vendor/laravel-nova-assets') }}">
<script src="{{ mix('custom-scripts.js', 'vendor/laravel-nova-assets') }}"></script>
出于版权原因,我无法将这些文件包含在本项目中。
添加自定义CSS和JSS
您可以在配置文件 laravel-nova-assets.php
中的 styles
和 scripts
部分指定您自定义的CSS/JS。
在CI/CD上运行命令
如果您使用此命令生成资源,您需要创建一个虚拟用户。不幸的是,我未能找到解决方案。
使用CDN
有几个包已经提供了此功能,其中一些是
arubacao/asset-cdn
- https://github.com/arubacao/asset-cdnpubliux/laravelcdn
- https://github.com/publiux/laravelcdn
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全
如果您发现任何安全问题,请通过电子邮件 hello@akki.io 而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。