infotechnohelp / package-loader
PHP辅助工具,用于加载前端包
1.0.1
2019-07-28 10:20 UTC
Requires (Dev)
- doctrine/instantiator: 1.0.*
- phpunit/phpunit: ^5.7|^6.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-29 00:16:57 UTC
README
`composer require infotechnohelp/package-loader'
基本用法
假设你已经安装了webroot/node_modules
中的jquery
use PackageLoader\PackageLoader;
$npm = new PackageLoader(\Cake\Routing\Router::url('/') . 'node_modules/');
echo $npm->script('jquery/dist/jquery.min');
使用映射的基本用法
use PackageLoader\PackageLoader;
$npm = new PackageLoader(\Cake\Routing\Router::url('/') . 'node_modules/', CONFIG . 'npm-map');
echo $npm->map()->scripts();
映射结构
config/npm-map.json
{
"js": {
"jquery": "jquery/dist/jquery.min",
"api-client": "@infotechnohelp/api-client/src/index"
},
"css": {
...
}
}
添加所有脚本
echo $npm->map()->scripts();
只添加提供的脚本
echo $npm->map()->scripts(['jquery']);
添加所有脚本(除了提供的脚本)
echo $npm->map()->scripts(['jquery'], true);
子包
映射结构
{
"js": {
"jquery": "jquery/dist/jquery.min",
"auth-api": {
"login": "cakephp-auth-api-client/src/login",
"logout" : "cakephp-auth-api-client/src/logout"
}
}
}
添加所有脚本
echo $npm->map()->scripts();
只添加提供的脚本
echo $npm->map()->scripts(['jquery', 'auth-api:login']);
添加所有脚本(除了提供的脚本)
echo $npm->map()->scripts(['auth-api:logout'], true);
(结果相同,仅加载jquery
和login
脚本)
加载样式表
映射结构
{
"css": {
...
}
}
添加特定的样式表
echo $npm->stylesheet('path-inside-node_modules');
添加所有样式表
echo $npm->map()->stylesheets();
与脚本相同的工作方式(仅包括和排除条件)