今天碰到一个题目:
如果你是一个熟悉模块化打包工具的前端开发者。不考虑使用如require.js等这些已经实现的工具。要求用原生的方法实现,如何引入三个模块,即三个js文件,比如a.js ,b.js和c.js。要求同时引入,然后在执行相应的回调函数。
思路:模块化思想的核心
今天碰到一个题目:
如果你是一个熟悉模块化打包工具的前端开发者。不考虑使用如require.js等这些已经实现的工具。要求用原生的方法实现,如何引入三个模块,即三个js文件,比如a.js ,b.js和c.js。要求同时引入,然后在执行相应的回调函数。
思路:模块化思想的核心
ajax
请求js
文件后用wrapper包起来eval
,我猜是这样。
另外你可以看看node.js的解决方法,把其中的读文件部分换成发请求应该就行了,但模块的解析策略上可能会稍有变动。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
根据上面那位兄得的答案,顺手写了一下,可能不正确,never mind
就写两个子模块吧,原理应该是一样的
main.js
1.js
2.js
然后放在浏览器里面执行:

暂时只想到把模块里的对象放到window上面变全局变量这个方法
至于你说的会向服务器发请求,我觉得一般主模块和子模块都是放在同个服务器上面的,就算主模块要发起请求加载子模块,也是相当于服务器本地加载js文件而已,没什么大问题
仅供参考。
刚看了看Promise.all是按顺序同步发出请求,在这里说明一下免得误导,不过都是异步操作,按顺序发出请求也不会相互阻塞