5

我有以下文件夹结构:

->自定义

  • 图表
    • ...JS 文件
  • 提高
    • ...JS 文件
  • 一般的
    • ...JS 文件

->库

  • jQuery
  • jQuery.ui

jquery-1.7.2.js需要js
-1.0.7.js
order.js

我有一个 .NET 应用程序,其中包含许多 ascx 控制文件,这些文件以传统方式引用 JS 文件,方法是在脚本标记中调用 JS 文件,然后从该文件中调用一些函数。

问题是我应该(或者我可以)如何实现 Require JS 以便我可以:

1) 调用 JS 文件 最后在所有图片、css 和 html 加载完成后,然后...

2)使用AMD的概念对代码进行模块化

需要指出的是,每个 aspx 文件中最多有 5 个 ascx 文件,其中一些包含 ascx 控件。许多 ascx 文件在其中嵌入了 JavaScript,许多 .master 页面也包含 JavaScript 文件引用。

我无法更改网站的结构(因为网站相当大),所以我需要找到解决方案。

谢谢

4

2 回答 2

0

它被称为重构... v. 将以前未架构的解决方案重写为架构良好的解决方案有时会很痛苦。

于 2013-03-23T16:45:19.467 回答
0

这更像是从 .NET Web 浏览器控件调用“InvokeScript()”的答案。但是谷歌把我带到了这里,有人可能会觉得这很有用。

首先,像往常一样定义新的 AMD 模块。将您称为“InvokeScript()”的任何内容作为函数放入此模块中:

define (... {
    var mySpecialHandler = function() {
        // do stuff
    };
    return {
      mySpecialHandler: mySpecialHandler
    }
});

然后当你开始使用它时,使用加载模块时最终设置的全局命名空间:

require(['app'], function (app) {
    window.mySpecialHandler = app.mySpecialHandler;
});
于 2014-06-10T05:32:19.887 回答