Module 在运行时使用同步语法导入commonJS、AMD和ES6模块
最近我写了很多ES6,使用了来自“ES6module”的Module 在运行时使用同步语法导入commonJS、AMD和ES6模块,module,ecmascript-6,systemjs,Module,Ecmascript 6,Systemjs,最近我写了很多ES6,使用了来自“ES6module”的import{variable}语法,并使用在浏览器中编译代码。我开始考虑,因为它似乎允许我使用相同的语法来导入AMD、commonJS和ES6模块 不过,阅读文档开始让我感到困惑。我看到很多异步调用,比如System.import('path/to/module')。然后(function(variable){…}),我不习惯于依赖项导入 我读过,它涵盖了许多不同的工作流,其中没有一个涉及在运行时导入ES6模块和AMD/commonjs模
import{variable}
语法,并使用在浏览器中编译代码。我开始考虑,因为它似乎允许我使用相同的语法来导入AMD、commonJS和ES6模块
不过,阅读文档开始让我感到困惑。我看到很多异步调用,比如System.import('path/to/module')。然后(function(variable){…})
,我不习惯于依赖项导入
我读过,它涵盖了许多不同的工作流,其中没有一个涉及在运行时导入ES6模块和AMD/commonjs模块。我是这样想的:
import {myObject} from 'my/es6/module';
import {_} from 'lib/underscore';
如果不是这样,至少:
import {myObject} from 'my/es6/module';
var _ = require('lib/underscore');
systemjs是否可以实现这两种功能?这个用例正是systemjs设计的目的 你可以写:
import {myObject} from 'my/es6/module';
import _ from 'lib/underscore';
原因是SystemJS中的CommonJS、AMD和Global模块被视为只导出一个
default
属性,这与上面的默认导入语法相对应。Awesome!我猜这也意味着以后从“lib/underline”调用import代码>是否重新使用已导入的模块?是-模块实例已共享。