Javascript 第三方库如何使用ES6模块?

Javascript 第三方库如何使用ES6模块?,javascript,es6-modules,Javascript,Es6 Modules,我习惯于使用更流行的CommonJS模块,其流程如下: warn或npm安装所需的模块(通常安装到节点_模块) 需要前端代码中所需的模块 使用browserify或类似工具将前端代码捆绑到一个大文件中,包括所有依赖项 我使用ES6模块,但: 我的依赖项应该下载到本地磁盘,还是从第三方(官方)URL加载 在哪里以及如何获取流行库的ES6版本 如果像大多数库一样,有一个CommonJS而不是ES6库,有没有办法使用它 我还需要打包吗?我将使用HTTP/2,因此我的连接将被多路复用 谢谢 好的

我习惯于使用更流行的CommonJS模块,其流程如下:

  • warn
    npm
    安装所需的模块(通常安装到
    节点_模块
  • 需要前端代码中所需的模块
  • 使用
    browserify
    或类似工具将前端代码捆绑到一个大文件中,包括所有依赖项
我使用ES6模块,但:

  • 我的依赖项应该下载到本地磁盘,还是从第三方(官方)URL加载
  • 在哪里以及如何获取流行库的ES6版本
  • 如果像大多数库一样,有一个CommonJS而不是ES6库,有没有办法使用它
  • 我还需要打包吗?我将使用HTTP/2,因此我的连接将被多路复用

谢谢

好的,几个小时后,没有人回答这个问题,我的工作已经开始:

  • 您的依赖项通常下载到本地磁盘。通常是
    /public/js/thirdparty
    文件夹或类似文件夹
  • 没有发现和下载CommonJS模块的工具。通常,您可以使用web浏览器下载任何可以下载的内容,然后对其进行编辑以删除UMD包装,并将(对于ImagesLoaded库)
    return ImagesLoaded
    替换为
    导出默认ImagesLoaded
  • 要使用第三方模块,请导入它们。要使用默认的
    import imagesLoaded from”/js/thirdparty/imagesLoaded.pkgd.js”
  • 您可以根据需要进行捆绑,但如果您使用的是ES6模块,则可能支持新的浏览器,这些浏览器还允许通过HTTP/2进行并行下载

“我的依赖项是否应该从第三方(官方)URL加载?”-这与ES6没有太大关系,除了可用性方面。是否从您自己服务器的CDN加载LIB取决于其他因素。请注意,当使用CDN时,您不能利用HTTP/2推送。@Bergi使用完整URL或相对路径与ES6相关,因为它实际上是从导入(无论什么)之后的事情。哦,这就是您要得到的。但是,你可以使用一个构建链来解决任何字符串到任何文件,然后吐出一个相对的或绝对的链接到你的服务器或一个人的服务器上的东西,而不是手工删除UMD(和其他)包装,你可以考虑从他们自己的来源建立各自的库。通常,它们已经使用了一些模块系统,并且仅为分发而打包。定制构建可能会为您提供一个可复制的ES6捆绑包。