akki-io/laravel-nova-assets

用于laravel nova管理所有相关资源的简单包。

v1.1 2021-12-25 18:37 UTC

This package is auto-updated.

Last update: 2024-08-28 07:29:07 UTC


README

Hero

Laravel Nova 搜索

Latest Version Software License StyleCI Total Downloads

此包提供了一个控制台命令,用于将动态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.phpresources/views/vendor/nova/auth/layout.blade.php
  • 复制主布局 vendor/laravel/nova/resources/views/layout.blade.phpresources/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 中的 stylesscripts 部分指定您自定义的CSS/JS。

在CI/CD上运行命令

如果您使用此命令生成资源,您需要创建一个虚拟用户。不幸的是,我未能找到解决方案。

使用CDN

有几个包已经提供了此功能,其中一些是

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全问题,请通过电子邮件 hello@akki.io 而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件