Systemjs 和 es6 导入
Systemjs and es6 import
我想使用 es6 模块和 Systemjs。但是我不明白一件事。例如我有这样的 my-module1.js 文件:
'use strict';
import myModule2 from './my-module2.js';
myModule2();
// some additional code goes here
这是我的-module2.js文件内容:
'use strict';
export default function myModule2() {
// some additional code goes here
}
这里是 index.html 的一部分:
<script>
'use strict';
System.import('./my-module1.js').then(function() {
});
</script>
两个问题:
1) 当 Systemjs 加载 my-module1.js 时,它会找到导入运算符。 Systemjs 会加载导入运算符中的文件吗?或者 Systemjs 不适用于导入运算符?
2) 以后浏览器支持es6模块时,浏览器用import操作符查找文件时,浏览器是同步加载还是异步加载?我的意思是如果浏览器加载这些
同步文件,用户操作(如鼠标单击、鼠标悬停、键盘输入等)是否有效或浏览器页面是否会被阻止?例如,当您执行同步 xhr 请求时,就会发生这种情况。
问题的第一部分:Systemjs 将执行导入语句,前提是您的 httpserver 正在提供文件。
问题的第二部分:是的。 ES6 Modules are loaded Synchronously or Asynchronously?
"ES6 module loaders will be asynchronous."
我想使用 es6 模块和 Systemjs。但是我不明白一件事。例如我有这样的 my-module1.js 文件:
'use strict';
import myModule2 from './my-module2.js';
myModule2();
// some additional code goes here
这是我的-module2.js文件内容:
'use strict';
export default function myModule2() {
// some additional code goes here
}
这里是 index.html 的一部分:
<script>
'use strict';
System.import('./my-module1.js').then(function() {
});
</script>
两个问题:
1) 当 Systemjs 加载 my-module1.js 时,它会找到导入运算符。 Systemjs 会加载导入运算符中的文件吗?或者 Systemjs 不适用于导入运算符?
2) 以后浏览器支持es6模块时,浏览器用import操作符查找文件时,浏览器是同步加载还是异步加载?我的意思是如果浏览器加载这些 同步文件,用户操作(如鼠标单击、鼠标悬停、键盘输入等)是否有效或浏览器页面是否会被阻止?例如,当您执行同步 xhr 请求时,就会发生这种情况。
问题的第一部分:Systemjs 将执行导入语句,前提是您的 httpserver 正在提供文件。
问题的第二部分:是的。 ES6 Modules are loaded Synchronously or Asynchronously?
"ES6 module loaders will be asynchronous."