1
1
我通常尝试为大多数/所有javascript代码创建一个单独的.js文件。通常,我需要将common bahvior应用于许多由asp控件或服务器端代码动态创建的元素,因此我可能无法将所有内容都编码到.js文件中。 我发现要在服务器上生成javascript的主要原因是,在页面呈现之前,您不会知道元素的id。因此,我试图尽可能地压缩依赖关系,以便生成尽可能少的javascript。例如,在传统的asp.net(而不是mvc)中,如果我呈现一组表单,比如在示例中,每个表单都有多个字段,那么我可能在代码后面有一些东西,比如:
单独的.js文件将包含prepareForm函数的定义,如下所示:
现在几乎所有的实际逻辑都在它自己的.js文件中,应该更容易维护。如果需要访问给定窗体的form presenter对象,则只需获取对formid参数所引用的任何元素的引用并访问presenter变量:
注意:自从我使用jquery以来,我发现甚至不需要包含服务器生成的任何javascript。通常,我可以通过查找一个特定的css类名(或类似的东西)来找到所需的元素,并执行所需的任何设置/初始化。 |
2
2
我们创建了一个库,专门用于将javascript嵌入到我们的c代码中,并使其成为开源的。 看一看 Adam.JSGenerator . |
3
1
我们在我们的项目中也做了大量的js生成,我们使用stringbuilder来完成它。
这不漂亮,但没有解决办法。 关于测试,我们实际上不会对生成的代码进行任何单元测试。在发布之前,人们会去测试所有的特性,以确保它们按预期工作。 |
4
1
如果不关心超级重复的性能,可以使用模板语言生成javascript。 然后,对于单元测试,您只需使用适当的绑定/变量填充模板,然后通过像rhino这样的javascript计算器或任何.net等价物运行它,以便至少测试语法(如果不是实际的js代码)。 除此之外,我还对生成类似javascript的软件的设计提出了严重的质疑。看起来您正在使用jquery,但是直接引用$,这可能会导致一些问题。 如果编译器生成javascript是一回事(ala gwt),但我会尽可能地将客户端js代码与.net代码分开(更不用说您的.net代码看起来像服务器端js所说的混乱)。 这种将客户端垃圾与服务器分离的流行设计被称为sofea。我让你搜索一下。 |
Brannon · matlab编译为C:检测slbuild与编码器 7 年前 |
user1804599 · 如何使用funset_avltree库? 8 年前 |
Å»ubrówka · 更改COM对象的行为 9 年前 |
user1698814 · 如何打印手写AST? 9 年前 |
sobek · MATLAB编码器动态调整结构数组大小 10 年前 |