vegas-cmf / assets
此包已被废弃且不再维护。未建议替代包。
Vegas CMF Assets
v3.0
2017-02-08 12:58 UTC
Requires
- php: ^5.5 || ^7.0
- ext-phalcon: ^3.0
- phalcon/incubator: ^3.0
Requires (Dev)
- phpunit/phpunit: 4.* || 5.*
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2022-08-15 05:22:48 UTC
README
为了便于维护资产,我们准备了grunt和gulp任务,允许您从供应商目录下载所有依赖项。我们指定了唯一的名称 - vegas.json - 用于在外部库中存储项目的依赖项(及其覆盖)。
示例 vegas.json
{
"dependencies": {
"bootstrap": "3.1.0"
},
"exportsOverride": {
"bootstrap": {
"js": [
"dist/js/*.js",
"dist/js/*.map"
],
"css": [
"dist/css/*.css",
"dist/css/*.map"
],
"fonts": "dist/fonts/*.*"
}
}
}
要求
Grunt
$ npm install --global grunt-cli
Gulp
如果您之前全局安装了gulp版本,请运行 npm rm --global gulp 以确保您的旧版本不会与gulp-cli冲突。
$ npm install --global gulp-cli
基本设置
将以下脚本命令添加到您的composer.json文件中
Grunt命令
"scripts": { "post-install-cmd": [ "cp -n ./vendor/vegas-cmf/assets/Gruntfile.js ./Gruntfile.js", "cp -n ./vendor/vegas-cmf/assets/grunt_package.json ./package.json", "cp -n ./vendor/vegas-cmf/assets/bower.json ./bower_base.json" ], "post-update-cmd": [ "cp -n ./vendor/vegas-cmf/assets/Gruntfile.js ./Gruntfile.js || true", "cp -n ./vendor/vegas-cmf/assets/grunt_package.json ./package.json || true", "cp -n ./vendor/vegas-cmf/assets/bower.json ./bower_base.json || true" ] }
Gulp命令
"scripts": { "post-install-cmd": [ "cp -n ./vendor/vegas-cmf/assets/gulpfile.js ./gulpfile.js", "cp -n ./vendor/vegas-cmf/assets/gulp_package.json ./package.json", "cp -n ./vendor/vegas-cmf/assets/bower.json ./bower_base.json" ], "post-update-cmd": [ "cp -n ./vendor/vegas-cmf/assets/gulpfile.js ./gulpfile.js || true", "cp -n ./vendor/vegas-cmf/assets/gulp_package.json ./package.json || true", "cp -n ./vendor/vegas-cmf/assets/bower.json ./bower_base.json || true" ] }
运行composer update或install命令
php composer.phar update
安装NPM包
npm install
注意:如有权限问题,请使用sudo
运行
通过简单的shell命令合并所有资产到bower文件,并运行bower install
grunt
或者
gulp
自定义选项
您还可以运行bower install或bower update任务,而无需从供应商合并资产。对于grunt
grunt bower:update // update grunt bower:install // install
对于gulp
gulp bower
Vegas CMF Assets Manager
在此包中,提供了一个基于Phalcon的资产容器。资产管理器允许您轻松添加资源,如JS脚本、CSS样式等。要使用此功能,请在您的Vegas项目中创建共享服务,如下所示
namespace App\Shared; use Vegas\Di\Injector\SharedServiceProviderInterface; class AssetsManager implements SharedServiceProviderInterface { /** * @return string */ public function getName() { return 'assets'; } /** * @param \Phalcon\DiInterface $di * @return mixed */ public function getProvider(\Phalcon\DiInterface $di) { return function() use ($di) { return new Vegas\Assets\Manager(); }; } }
从这一点开始,您可以通过以下语法调用管理器方法
// output JS files path
{{ assets.outputJs() }}
// output CSS files path
{{ assets.outputCss() }}
// add JS file to assets container
{{ assets.addJs('some/valid/path/to/js/file.js') }}
// add CSS file to assets container
{{ assets.addCss('some/valid/path/to/css/file.css') }}
####注意#### 请记住,必须更新config.php文件。
'sharedServices' => [ ... 'App\Shared\AssetsManager' ]