Re: 在Ext的全Ajax项目中,你是怎么组织js的?

本文讨论了一种新的JavaScript模块加载机制$import的设计理念及其面临的挑战。着重分析了该机制如何处理脚本间的依赖关系,以及它对第三方代码的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[quote="Sean220"]我认为实现$import机制至少不能对用户编程有过多要求,比如你的延迟同步按需装载,还不能同一个script标签里继续编码,那这种方法我个人认为比较难以接受。特别是在一些函数里需要动态import就没办法使用。
[/quote]
我们最求完美,但是应为一些我们无法控制的问题存在,只能求其从次。

[quote="Sean220"]
你考虑的第二种方法,就是异步回调的方法,我也曾经设想过,但最终实现为同步,一方面考虑设计简单化,一方面为了实现嵌套$import时候代码能正常运行.
[/quote]
你的设计是简单了,但可能将有成千上万的用户为一些没有避免的问题买单。


[quote="Sean220"]
比如:$import("A")调用A.js
那么如果A.js里也有一句$import("B")
我当时没想到更好的办法解决这种引用的问题。但如果简单地做成同步$import就没问题。

而我的初衷是为了实现去除js文件之间关联性,不需要在调用者页面去维护这种依赖关系,而由各个js里自己使用$import指定,有点像java的思路,A只引用B,而不关心B文件需要引用那些文件才能运行。当然相同js只需要$import一次的机制肯定得保证。
所以可能侧重点和你考虑的问题出发点不太一样,当然我的主要应用场景在LAN里面。
[/quote]
依赖关系的管理,我在JSI1的时候也提出过,看似我们的想法也差不多,^_^
不过,我强调一种被管理脚本的无框架依赖,所以,我不想在别人的脚本里面使用import指令,而是在包定义文件中描述依赖。
明显,你这种方式确实很简单,但也造成了对第三方代码的侵入,而且如此以来,你在实现异步装在,延迟装在上,都将成为问题。
而且,改动了第三方脚本,那么后期的升级同步,也相对麻烦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值