我正在迁移到systemjs,主要是因为它支持模块,这使得迁移到ES6更加简单。
systemjs CSS插件允许优雅的导入,如下所示:
System.import('bootstrap/css/bootstrap.css!');
但是这会异步加载,因此加载需要在服务器生成的页面的其余部分之前加载的CSS是不实际的。所以我必须恢复到繁琐的包URL。 (当版本发生变化时会破坏 - 而且似乎一般都非常hacky - 因为JSPM应该管理这些细节吗?)
<link rel="stylesheet" href="/res/packages/github/twbs/bootstrap@3.3.5/css/bootstrap.css">
有最好的做法吗?事实上,有没有任何有用的例子来实际使用systemjs?
答案 0 :(得分:2)
您可以隐藏正文,创建一个加载资源的javascript模块,并在资源加载时显示正文:
<强> assets.js 强>
import 'bootstrap/css/bootstrap.css!';
然后在 index.html 文件中:
System.import('assets.js').then(function(){
//Now your styles are loaded. You may fade in/display your content.
document.querySelector('body').style.display = 'block';
}); //Add the JS extension according to your SystemJS configuration