在基于javascript的windows store应用程序中,我遇到过一些代码重用的事情。
- 自定义控件-有时我们需要构建一个可以跨页面重用的自定义控件,有时还可以在多个项目中重用。This link概述了如何使用WinJS库构建自定义控件。例如,我为ImageSelectControl构建了一个自定义控件。很多时候我们需要一个控件来显示选定的图像,允许用户更改/删除选定的图像,在控件中显示选定图像的缩略图等。我在一个app.
- default.css中的多个页面上使用这个控件-这包含了项目的默认样式。在构建几个应用程序的过程中,我遇到了一组默认的css类,这些样式是在vs模板生成的默认样式之上添加的。我在不同的项目中复制这个文件。例如,每个应用程序都有一个“品牌”配色方案。在此基础上,您需要设置锚点悬停颜色,输入选择控件背景等,这样的规则可以在项目中重复使用,只有品牌颜色会发生变化。在你的default.css中识别和组织这样的规则,并在projects.
- default.js中重用它是很好的-这个文件还会对应用程序生命周期事件处理进行一些更新。如果你保持项目的数据模型分离,这个文件可以在定义继承的project.
- WinJS.Class.derive函数中重用。但到目前为止,我还没有在我的projects.
- you中遇到过这种情况,我会遇到你的个人模板(一组.html/css/js文件),用于不同类型的页面。重用它们是很好的。我创建了几个这样的模板(不是所有的模板),但我计划创建它们。当您在多个应用程序中工作时,最好寻找这样的模板,并从其中一个模板开始页面开发。模板可以简单地维护为一个文件夹,比如说template\带有一组.html/.js/.css文件并复制粘贴这些文件到你的新页面folder.
- Utilility库中-你将构建你的一组utils helper函数。我将它们保存在js/utils.js中,并在多个项目之间进行共享。例如- Utils.handleError( error ):在出现错误时向用户显示消息;Utils.UI.initializeWithProgressRing加载带有promise的页面,并在页面加载之前在中心显示进度环;WinJS.xhr的包装器。在构建你的帮助器函数之前最好检查一下WinJS.Utilities名称空间。我在这里找到了几次所需的函数。
总之,在我的例子中,代码重用发生在重用js实用程序库、页面模板、default.js、default.css、自定义控件的时候。继承是可用的,但我使用的还不够多。HTH。