vegas-cmf/assets

此包已被废弃且不再维护。未建议替代包。

Vegas CMF Assets

安装: 185

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 9

分支: 0

开放问题: 0

语言:JavaScript

v3.0 2017-02-08 12:58 UTC

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'
]