从requirejs迁移到systemjs:管理路径

时间:2015-08-09 15:24:09

标签: systemjs

我正在迁移到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?

1 个答案:

答案 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