Module 简单巴别塔传输es6模块加载

Module 简单巴别塔传输es6模块加载,module,ecmascript-6,babeljs,es6-module-loader,Module,Ecmascript 6,Babeljs,Es6 Module Loader,我正在寻找简单的模块加载导入/导出es6模块传输巴贝尔 从带有导入/导出模块的es6源文件开始,以便在浏览器中使用 使用babel将其静态传输到es5,并使用一个配置指定最容易加载的模块转换(amd、commonjs、systemjs) 不要将npm用于模块,也不要使用任何其他复杂的工作流。只是巴贝尔传输了文件 用模块加载这些es5文件,用加载babel Transfilation用于加载es6模块的库 我希望避免浏览、网页包、jspm等。只需简单地传输es6->es5,并使用babel编译

我正在寻找简单的模块加载导入/导出es6模块传输巴贝尔

  • 从带有导入/导出模块的es6源文件开始,以便在浏览器中使用
  • 使用babel将其静态传输到es5,并使用一个配置指定最容易加载的模块转换(amd、commonjs、systemjs)
  • 不要将npm用于模块,也不要使用任何其他复杂的工作流。只是巴贝尔传输了文件
  • 用模块加载这些es5文件,用
    加载babel Transfilation用于加载es6模块的库
我希望避免浏览、网页包、jspm等。只需简单地传输es6->es5,并使用babel编译模块库来实现。我不需要打包。我们在这里讨论的是简单、基本的javascript

这可能吗?如果是,怎么做


我所看到的所有模块加载讨论都使用了复杂的工作流,在我看来这是不必要的。我想简单地在一组文件中使用es6导入/导出,并在浏览器中尽可能简单地使用它们。

似乎您可以使用它来做您想要的事情。也许类似于
babel src--out dir lib

的东西似乎可以用来做你想做的事情。也许有点像巴贝尔src--out dir lib

盖伊·贝德福德(Guy Bedford)在SystemJS谷歌小组中回答了这个问题:

下面是我给我的团队做的一次演讲,详细内容在最后:

简短的版本是:将babel配置为具有babel-plugin-transform-es2015-modules-systemjs,使用此转换通过babel运行您的模块,除非您需要更多的es6功能(Chrome已完成91%),并使您的html包括:

<script src="system.js"></script>
and
<script>
  System.import('lib/main'); 
</script>

和
系统导入('lib/main');

无网页包、npm/browserify、jspm、捆绑。。。或者任何其他(太多)模块工作流。

盖伊·贝德福德在SystemJS谷歌小组中回答了这个问题:

下面是我给我的团队做的一次演讲,详细内容在最后:

简短的版本是:将babel配置为具有babel-plugin-transform-es2015-modules-systemjs,使用此转换通过babel运行您的模块,除非您需要更多的es6功能(Chrome已完成91%),并使您的html包括:

<script src="system.js"></script>
and
<script>
  System.import('lib/main'); 
</script>

和
系统导入('lib/main');

无网页包、npm/browserify、jspm、捆绑。。。或者任何其他(太多)模块工作流。

听起来像是在寻找传输到AMD,然后使用require.js之类的客户端库。另外,看看system.js如果你想使用ES6导入/导出语法,你需要某种模块加载器。RequireJS会起作用,但我真的不确定与其他方法相比,使用它能获得什么好处。如果有的话,我会认为AMD比Browserify更复杂。我通常认为“简单的转置ES6->ES5”与“简单地使用ES6导入/导出”是不一致的。simple的定义本身就很简单,但它抛弃了ES6模块加载的许多优点……但我再次同意loganfsmyth的观点,Browserify非常简单——这里只有一条CLI命令。不好意思说我不知道如何使用browserify加载模块!我不在我的常规(gulp)工作流中使用它。据我所知,它用于将npm回购转换为浏览器使用。有一个简单的gulp任务可以解决这个问题吗?听起来你在寻找传输到AMD,然后使用像require.js这样的客户端库。另外看看system.js如果你想使用ES6导入/导出语法,你需要某种模块加载器。RequireJS会起作用,但我真的不确定与其他方法相比,使用它能获得什么好处。如果有的话,我会认为AMD比Browserify更复杂。我通常认为“简单的转置ES6->ES5”与“简单地使用ES6导入/导出”是不一致的。simple的定义本身就很简单,但它抛弃了ES6模块加载的许多优点……但我再次同意loganfsmyth的观点,Browserify非常简单——这里只有一条CLI命令。不好意思说我不知道如何使用browserify加载模块!我不在我的常规(gulp)工作流中使用它。据我所知,它用于将npm回购转换为浏览器使用。有一个简单的“吞咽”任务可以解决这个问题吗?不幸的是,这不会解决浏览器中的模块问题,至少不需要更多的步骤。不幸的是,这不会解决浏览器中的模块问题,至少不需要更多的步骤。