Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在.NET应用程序中使用RequireJS?_Javascript_Jquery_Jquery Plugins_Requirejs - Fatal编程技术网

Javascript 如何在.NET应用程序中使用RequireJS?

Javascript 如何在.NET应用程序中使用RequireJS?,javascript,jquery,jquery-plugins,requirejs,Javascript,Jquery,Jquery Plugins,Requirejs,我有以下文件夹结构: ->习俗 图表 …JS文件 增强 …JS文件 一般的 …JS文件 ->解放党 jquery jquery.ui jquery-1.7.2.js requirejs-1.0.7.js order.js 我有一个.NET应用程序,其中有很多ascx控制文件,它们以传统方式引用JS文件,方法是在脚本标记中调用JS文件,然后从该文件中调用一些函数 问题是我应该(或可以)如何实现Require JS,以便: 1) 在加载所有图像、css和html后,最后调用JS文

我有以下文件夹结构:

->习俗

  • 图表
    • …JS文件
  • 增强
    • …JS文件
  • 一般的
    • …JS文件
->解放党

  • jquery
  • jquery.ui
jquery-1.7.2.js
requirejs-1.0.7.js
order.js

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

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

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

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

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

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


谢谢

这叫做重新分解。。。v将以前没有架构的解决方案重写为架构良好的解决方案的过程有时会很痛苦。

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

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

define (... {
    var mySpecialHandler = function() {
        // do stuff
    };
    return {
      mySpecialHandler: mySpecialHandler
    }
});
然后,当您开始使用它时,请使用在加载模块时最终设置的全局名称空间:

require(['app'], function (app) {
    window.mySpecialHandler = app.mySpecialHandler;
});

阅读您的问题,我可以告诉您,如果您选择使用requirejs,将有很多工作要做。Requirejs对于web应用程序来说是一个非常好的工具,但是对于非结构化的应用程序来说,它并不友好。我现在正在将Requirejs实现为一个.NET应用程序,并取得了巨大的成功,艰苦的工作是转换所有调用javascript的页面,或者创建用于tat调用的模块,如果它包含大量JS代码,或者,将代码包装在require调用中。直截了当,但是分配的工作,以转换网站。检查这个项目是完美的,因为我们正在实施(开始实施)一个MVC框架的项目,我们正在建设。我已经转换了我们必须使用requirejs的所有代码,但这需要更深入一点,并且会很有用。requirejs实现更新:随着select.bestinvest网站需要分配更多客户端JS重编码,requireJS在实施模块化编码方面非常出色,而不仅仅是自上而下的方法并将所有内容放在一个文件中。尽管要将所有的JS转换为在RequireJS中运行需要做大量的工作,但这是值得的。