我正在Phalcon中创建一个包含主题管理器的应用程序。主题仅仅是.scss
和.volt
文件的集合。当然,这些.scss
是在使用之前构建的。
我一直在测试Phalcon的资产经理。除了创建自定义过滤器等的一些困难之外,我开始想知道:为什么有人会一直构建他们的文件?这会使每个请求慢得多。 Phalcon是否会缓存这些资产?
此外,在开发主题或执行大量前端工作时,查看源sass文件以进行更改非常有用。这在Phalcon有可能吗?
答案 0 :(得分:1)
根据manual使用资产集合->setTargetPath()
,可以将所有选定的文件保存到一个位置。如果你有一些脚本总是包含在你的页面中,你可以将它们放到一个文件中,同时由于过滤器过滤器而缩小。剪辑的代码有点像:
$controller->assets->collection('jsGlobal')
->addJs('libs/jquery.js', true)
->addJs('libs/jquery-ui.js', true)
->setTargetPath('js/global.js')
->setTargetUri('js/global.js')
->join(true)
->addFilter(new \Phalcon\Assets\Filters\Jsmin());
您可能想要检查它是否已在js/global.js
位置下构建的脚本,以防止在生产过程中反复构建它。这样,在制作部署脚本时,您只需删除生产服务器上的某些文件即可。
我正在处理的项目使用less
。我们安装了\lessc
库来管理只保留存储库.less
文件。
再次,在开发模式中,我们甚至不检查文件是否已更改 - 我们假设是,并且始终重新编译它。出于生产目的,编写PHP是为了检查某些脚本是否存在,并且仅在它们不存在时才编译.less
。