Requirejs 成熟项目的需求
我想开始在我的项目中使用requirejs,这个项目已经开发了大约一年,而且规模很大 该项目是asp.net,母版页有大约50个脚本,其中一半是该项目的自定义脚本大多数是使用显示模块模式编写的,另一半是第三方脚本和jquery插件 页面中还内嵌了大量JS代码 如果有人能告诉我重构项目的最佳策略,我将不胜感激。Requirejs 成熟项目的需求,requirejs,amd,Requirejs,Amd,我想开始在我的项目中使用requirejs,这个项目已经开发了大约一年,而且规模很大 该项目是asp.net,母版页有大约50个脚本,其中一半是该项目的自定义脚本大多数是使用显示模块模式编写的,另一半是第三方脚本和jquery插件 页面中还内嵌了大量JS代码 如果有人能告诉我重构项目的最佳策略,我将不胜感激。 也许是一步一步来做的方法,这样就不会阻碍开发团队的其他成员。选择AMD模块模式只有一个很好的理由: 通过将JS代码拆分为可管理的模块来保护开发人员的理智 只有一种方法,你可以保持理智,仍然
也许是一步一步来做的方法,这样就不会阻碍开发团队的其他成员。选择AMD模块模式只有一个很好的理由: 通过将JS代码拆分为可管理的模块来保护开发人员的理智 只有一种方法,你可以保持理智,仍然提供紧凑,高效的网页-你需要“建立”你的AMD树。否则,所有的小模块都会变成一堆HTTP Get请求,从而减慢应用程序的速度 在您的特定情况下,选择“构建AMD树”的一个副作用是,您可能会从简化的JavaScript中获益。您的应用程序已经由服务器gziped提供服务,但缩小JavaScript会使它们变得更小。另外,与aspx文件相比,单独的静态JS文件具有更好的缓存签名,而aspx文件可能具有由服务器分配的非常短的缓存设置 如何“构建”AMD树:
除非你承诺要一路走下去——打造AMD之树——否则不要走AMD之路。这不值得。选择AMD模块模式只有一个很好的理由: 通过将JS代码拆分为可管理的模块来保护开发人员的理智 只有一种方法,你可以保持理智,仍然提供紧凑,高效的网页-你需要“建立”你的AMD树。否则,所有的小模块都会变成一堆HTTP Get请求,从而减慢应用程序的速度 在您的特定情况下,选择“构建AMD树”的一个副作用是,您可能会从简化的JavaScript中获益。您的应用程序已经由服务器gziped提供服务,但缩小JavaScript会使它们变得更小。另外,与aspx文件相比,单独的静态JS文件具有更好的缓存签名,而aspx文件可能具有由服务器分配的非常短的缓存设置 如何“构建”AMD树:
除非你承诺要一路走下去——打造AMD之树——否则不要走AMD之路。这不值得。我可能会先创建一个git分支,只添加AMD包装器。完成后,我合并主分支,解决冲突,并合并到主分支。剩下的问题有点模糊,我可能会先创建一个git分支,只添加AMD包装器。完成后,我合并主分支,解决冲突,并合并到主分支。剩下的问题有点模糊。嗨,谢谢你的回答。我想要实现AMD的原因之一是因为性能(除了更干净的代码),现在我在用户登录时加载了50个脚本,用户必须等待,因为浏览器被解析和评估脚本阻塞。我想性能会有所提高,因为脚本会在需要时(不是一次)异步加载,并作为一个大的缩小文件加载,对吗?也许我可以利用延迟加载来提高性能?是否有使用ReauireJs的真实场景示例?首先,我可以使用shim设置配置中的所有脚本,以便应用程序能够工作,然后逐步(逐页)将脚本转换为模块?是的。使用垫片应该有效。关于垫片的警告:带垫片的普通javascript不能依赖于带垫片的AMD模块。作为替代方案,我建议考虑嵌套的require调用,您可以在其中自由混合非模块和模块。请看这里的例子:嗨,谢谢你的回答。我想要实现AMD的原因之一是因为性能(除了更干净的代码),现在我在用户登录时加载了50个脚本,用户必须等待,因为浏览器被解析和评估脚本阻塞。我想性能会有所提高,因为脚本会在需要时(不是一次)异步加载,并作为一个大的缩小文件加载,对吗?也许我可以利用延迟加载来提高性能?是否有使用ReauireJs的真实场景示例?首先,我可以使用shim设置配置中的所有脚本,以便应用程序能够工作,然后逐步(逐页)将脚本转换为模块?是的。使用垫片应该有效。关于垫片的警告:带垫片的普通javascript不能依赖于带垫片的AMD模块。作为替代方案,苏格斯会这样做吗