codeiucom / laravel-sfb
CodeIU Laravel 单文件 Blade
v1.0.0
2022-03-01 09:00 UTC
Requires
- php: ^8.0
- mrclay/minify: ^3.0
Requires (Dev)
- laravel/framework: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-29 05:50:09 UTC
README
script/style 部分转换为 js/css 文件。
安装
使用 composer
composer require codeiucom/laravel-sfb
使用正常方式(不带 laravel-mix)
-
sample-layout.blade.php
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> @stack('head-style') </head> <body> @yield('content') @stack('body-js') </body> </html>
-
sample.blade.php
@include('sample-layout') @section('content') <div> text </div> @endsection @sfbScript('body-js') <script> console.log("test"); </script> @endSfb @sfbStyle('head-style') <style> .div { color: gray; } </style> @endSfb
-
重新加载浏览器
与 laravel-mix 一起使用
安装 npm 包
npm install vendor/codeiucom/laravel-sfb/node_module
使用
-
编辑 laravel.mix.js
-
正常
require("codeiucom-laravel-sfb"); mix.sfb(`resources/views/**/*.blade.php`);
-
或使用 scss 选项
require("codeiucom-laravel-sfb"); mix.sfb(`resources/views/**/*.blade.php`, { sass: { pluginOptions: [], postCssPlugins: [require("tailwindcss")], }, });
-
-
sample.blade.php
@include('sample-layout') @section('content') <div> text </div> @endsection @sfbMixScript('body-js') <script> console.log("test"); </script> @endSfb <!-- with sass: type="text-scss" --> @sfbMixStyle('head-style') <style type="text/scss"> .div { color: gray; } </style> @endSfb
-
运行 laravel mix
npm run dev # or npm run prod
选项
更改编译路径
默认路径:/public/assets/sfb
编辑 .env 文件
# /public/vdendor/sfb is CODEIU_LARAVEL_SFB_FILE_DIR=vendor/sfb
更改 laravel mix 编译路径
编辑 .env 文件
CODEIU_LARAVEL_SFB_MIX_FILE_DIR=sfb