diverently / laravel-mix-kirby
Laravel Mix辅助工具,用于Kirby CMS
1.4.2
2022-11-05 18:06 UTC
Requires
This package is auto-updated.
Last update: 2024-09-05 22:06:45 UTC
README
使用mix
辅助函数获取由Laravel Mix生成的版本化CSS和JS文件的正确路径。
安装
下载
下载并复制此存储库到site/plugins/laravel-mix-kirby
。
Git子模块
git submodule add https://github.com/Diverently/laravel-mix-kirby.git site/plugins/laravel-mix-kirby
Composer
composer require diverently/laravel-mix-kirby
Laravel Mix
您还应该安装Laravel Mix,否则此插件相当无用了;-)有关更多信息,请参阅安装指南,尽管它实际上相当直接
设置
在您的site/config/config.php
中,您可以设置两个选项以使此辅助工具与您的特定设置一起工作
diverently.laravel-mix-kirby.manifestPath
辅助函数将在此处查找由Laravel Mix创建的清单。
默认: assets/mix-manifest.json
diverently.laravel-mix-kirby.assetsDirectory
这将被添加到创建最终HTML标签时传递给mix()
函数的各个文件路径之前。
默认: assets
选项
mix()
辅助函数
mix()
辅助函数读取mix-manifest.json
文件,并返回带有请求文件正确路径的正确HTML标签。在我们的例子中,我们会这样调用它
<html> <head> <!-- ... --> <?php echo mix('/main.css') ?> <?php echo mix([ '/additional.css', '@autocss' ]) ?> </head> <body> <!-- ... --> <?php echo mix('/main.js') ?> <?php echo mix([ '/additional.js', '@autojs' ]) ?> </body> </html>
实际上就是这样。
开发
- 如果您还没有,在项目根目录中创建一个
package.json
:npm init -y
- 安装Laravel Mix:
npm install laravel-mix --save-dev
- 将
webpack.mix.js
文件复制到您的根目录:cp node_modules/laravel-mix/setup/webpack.mix.js ./
之后,您就可以开始在项目中使用Laravel Mix了。
webpack.mix.js
有关更多信息,请参阅官方文档。
let mix = require("laravel-mix") mix.setPublicPath("assets") mix.browserSync("my-website.dev") if (mix.inProduction()) { mix.version() } mix .sourceMaps() .js("src/js/main.js", "assets") .sass("src/css/main.scss", "assets")
NPM脚本
将以下NPM脚本添加到您的package.json
"scripts": { "dev": "npm run development", "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "npm run development -- --watch", "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js", "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }
许可协议
致谢
这个想法最初来自为Laravel框架创建的
mix
Blade辅助工具。这仅仅是对Kirby CMS的“翻译”,但是它也会根据您请求的文件类型生成正确的HTML标签。