管理视图文件和 JS 标记

Managing view files and JS mark up

本文关键字:JS 标记 文件 视图 管理      更新时间:2023-09-26

我用Smarty来处理我的观点。为了最大限度地重用代码,我将视图文件拆分为小段,并将它们包含在需要它们的任何位置。这很有效,因为它在浏览器上呈现时可以使我的标记保持一致。

问题是我也有JS可以执行某些DOM操作。这意味着我的JS需要了解标记结构等。在很多情况下,JS被迫维护Smarty模板文件中已经存在的标记的相同副本。

这将成为维护的噩梦,因为对标记的任何更改都必须在 Smarty 模板文件中完成,并且可能在 JS 标记中完成。

关于如何优雅地处理这个问题的任何建议?还是我只是接受这是一种必要的邪恶?

我将视图文件分成小段,并将它们包含在需要

的地方

对你的 JavaScript 做同样的事情。考虑模块化并制作模块而不是页面。任何模块都将包括HTML(在你的例子中是Smarty),JavaScript和CSS。任何需要该模块的页面都应该需要这三个文件。或者,您可以将所有模块捆绑在一起,以便更轻松地包含模块。创建模块时,您将编辑模块而不是页面。这样你就不会通过编辑JavaScript或CSS/HTML来破坏东西。

模块

可以是页面中其他模块可以独立的任何内容。当然,模块可以相互通信,但您需要为模块系统定义一个一致的 API。

这种方法将使维护更容易,但缺点是您必须几乎重写整个应用程序以使其模块化。