mishak/web-resource-management

用于脚本和样式的管理工具(使用Nette框架)

1.4 2013-04-10 23:34 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:47:58 UTC


README

主要目的是通过将定义移动到模块的配置(和自动生成内容)来简化脚本和样式的资源管理。

实验性! 可能会有向后不兼容的问题。 这仍然更像是一个草稿而不是真正的代码,所以请多多包涵。

安装

将以下要求添加到您的 composer.json"mishak/web-resource-management": "dev-master"。目录 %WWW_DIR%/generated 必须可以被服务器写入。目前脚本必须在 %WWW_DIR%/js 目录下。

引导

$configurator = new Nette\Config\Configurator;
// after the line above
Mishak\WebResourceManagement\DI\WebResourceManagementExtension::register($configurator);
// before the line bellow
$container = $configurator->createContainer();

在模板中

<head>
	...
	{include ../../libs/mishak/web-resource-management/@styles.latte}
</head>

<body>
	...
	{include ../../libs/mishak/web-resource-management/@scripts.latte}
</body>

功能

  • 依赖管理

脚本

  • 翻译
  • 按脚本配置
  • 根据 debugMode 和配置使用脚本的公共、压缩和原始版本

样式

  • 支持 less(必须在路径中有 lessc
  • 使用新的 URL 将资源提取到新文件夹以防止缓存问题
  • 重命名文件以防止缓存问题
  • 生成压缩文件 - 可以由 nginx 使用 gzip_static on; 来使用

用法

在 config.neon 中

resources:

	styles:
		bootstrap:
			filename: %appDir%/../libs/twitter/bootstrap/less/bootstrap.less
		bootstrap.responsive:
			filename: %appDir%/../libs/twitter/bootstrap/less/responsive.less
			depends: bootstrap

	scripts:
		jquery:
			filename: jquery-1.8.2.js
			public: //ajax.googleapis.ac.cn/ajax/libs/jquery/1.8.2/jquery.js
		bootstrap:
			filename: bootstrap.js
			minified: bootstrap.min.js
			depends: jquery
		main:
			filename: main.js
			depends: [ jquery, bootstrap ]
  • 属性 depends 是可选的,默认为空数组 ([ ])

脚本

  • minified 版本是可选的
  • 至少定义 filenamepublic
  • 之间的切换会自动按此顺序进行(productionMode = TRUEpublic > minified > filename(《debugMode = TRUE》)