gckabir/organizer

该软件包最新版本(v0.70)没有可用的许可证信息。

轻松管理、组织、压缩静态文件(JS/CSS)

v0.70 2014-12-03 07:40 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:29:23 UTC


README

注意:该功能已被弃用,建议使用如gulpwebpackbrowserify等工具更好地组织你的项目

这是一个可以帮助你更好地组织PHP项目中静态文件(javascript/css)的工具。

只需以任何你想要的方式组织你的javascript/css文件,将相关代码保存在单独的文件和目录中,然后由organizer合并和压缩它们,以便可以通过单个HTTP请求获取。

特性

  • 合并js/css文件
  • 使用JShrink(针对javascript)或CssMin(针对CSS)压缩合并后的文件包
  • 缓存这些文件

入门指南

安装

通过Composer安装Organizer非常简单。只需在你的composer.json中添加以下内容:

"require": {
    "gckabir/organizer": "*"
}

然后运行composer installupdate

步骤1:配置

配置非常简单

// Organizer Config
$config = [
    'serverUrl'	=> 'https:///<your-project>/',  // Site's base url
    'javascript'	=> [
        'useStrict'=> false,
        'basePath' 	=> 'js/',  // a directory containing all js files
        'minify'	=> false,
        'cache'		=> false,
    ]
];
		
\Gckabir\Organizer\OZR::init($config);

只需设置参数即可完成。

步骤2:创建js文件包

$js = \Gckabir\Organizer\OZR::organizeJS('homepage-js', [
    'javascript1',
    'javascript2',
]);

// Additional files could be added like this
$js->add([
    'javascript3',			
    'javascript4'
    ]);
                
// merge all files & build the bundle
$js->build();

步骤3:在html中使用文件包

<?php $js->includeHere() ?>

或者

<script type="text/javascript" src="<?php echo $js->build() ?>"></script>

区别

而不是这样做

<script type="text/javascript" src="/static/ng/core/module.js"></script>
<script type="text/javascript" src="/static/ng/core/constants.js"></script>
<script type="text/javascript" src="/static/ng/core/services/app.js"></script>
<script type="text/javascript" src="/static/ng/core/services/auth.js"></script>
<script type="text/javascript" src="/static/ng/core/services/item.js"></script>
<script type="text/javascript" src="/static/ng/core/services/user.js"></script>
<script type="text/javascript" src="/static/ng/core/services/logo.js"/>
<script type="text/javascript" src="/static/ng/core/services/user_profile.js"></script>
<script type="text/javascript" src="/static/ng/core/directives/specific-scripts.js"></script>
<script type="text/javascript" src="/static/ng/core/run.js"></script>

<!-- Content -->
<script type="text/javascript" src="/static/ng/content/module.js"></script>
<script type="text/javascript" src="/static/ng/content/config.js"></script>
<script type="text/javascript" src="/static/ng/content/controllers/controllers.js"></script>
<script type="text/javascript" src="/static/ng/content/controllers/home.js"></script>
<script type="text/javascript" src="/static/ng/content/controllers/siso.js"></script>

你可以这样做;非常简单

<?php 
$js = OZR::organizeJS('js-bundle');
$js->add([
    'core/module',
    'core/constants',
    'core/services/*',
    'core/directives/*',
    'core/run',

    // Content
    'content/module',
    'content/config',
    'content/controllers/*',
]);
?>
<script type="text/javascript" src="<?php echo $js->build() ?>"></script>