gckabir / organizer
该软件包最新版本(v0.70)没有可用的许可证信息。
轻松管理、组织、压缩静态文件(JS/CSS)
v0.70
2014-12-03 07:40 UTC
Requires
- php: >=5.3.0
- natxet/cssmin: 3.0.2
- tedivm/jshrink: ~1.0
README
注意:该功能已被弃用,建议使用如gulp、webpack或browserify等工具更好地组织你的项目
这是一个可以帮助你更好地组织PHP项目中静态文件(javascript/css)的工具。
只需以任何你想要的方式组织你的javascript/css文件,将相关代码保存在单独的文件和目录中,然后由organizer合并和压缩它们,以便可以通过单个HTTP请求获取。
特性
- 合并js/css文件
- 使用JShrink(针对javascript)或CssMin(针对CSS)压缩合并后的文件包
- 缓存这些文件
入门指南
安装
通过Composer安装Organizer非常简单。只需在你的composer.json中添加以下内容:
"require": {
"gckabir/organizer": "*"
}
然后运行composer install
或update
步骤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>