首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块加载器已经被现代JavaScript淘汰了吗?

模块加载器已经被现代JavaScript淘汰了吗?
EN

Stack Overflow用户
提问于 2020-07-30 14:17:40
回答 2查看 415关注 0票数 0

现在,我们可以在浏览器上执行以下操作:

代码语言:javascript
复制
// module.js
var a = 10;
var m = 20;
export {a,a as aa};
export var b = 30;
export function f(){return m;};
export class cl{}

然后在主文件上,比如index.html:

代码语言:javascript
复制
<!DOCTYPE html><html><body>
<script type="module">
    import {a,b,aa,aa as aaa, f, cl} from "./module.js";
    import * as X from "./module.js";
    console.log(a,b,aa,aaa,X.aa,X.aaa,f(),cl);   
                  // 10 30 10 10 10 undefined 20 class cl{}
    export {a,b as z} from "./module.js";  
                  // re-exports a and b
    export * from "./module.js";      
                  // re-exports everything except default
</script>
</body></html>

我们甚至可以使用新的导入语法( ECMASCript2020 ())动态加载导入。

这让我不禁要问,传统的模块捆绑包,如webpack、browserify、rollup、AMD、requireJS等是否已经过时了?就我个人而言,我从未使用过它们。如果使用过它们的人告诉我,现在是否有必要使用它们来实现它们过去提供的好处,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-30 14:53:29

加载器AMD正在变得过时,因为人们不使用它们,除了webpack,这已经获得了许多追随者,尽管webpack本身不是一个加载器,而是一个模块定义和资源包装器与许多实用程序,并被框架javascript最常用的(角度,vuejs,反应)使用,它最好的功能之一是开发服务器。

我认为webpack进展得很好,它的目的不是加载模块,而是优化加载和开发,它是一个开发工具,而不是像amd加载器那样的运行库,所以它将继续很好地集成到ES2020中,因为ES是一个规范,不能提供包装器提供的工具。

票数 -1
EN

Stack Overflow用户

发布于 2020-07-30 14:26:05

requirejs或其他基于AMD的加载器仍然很好,如果你有一些相当老的香草JS,他们仍然工作得很好。如果你正在开发一些新的UI/JS应用,你可以使用webpack。ES2020可能不是在所有浏览器中都可用,所以必须等到在主要浏览器中获得支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63167239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档