【问题标题】:Moving from requirejs to systemjs: managing paths从 requirejs 迁移到 systemjs:管理路径
【发布时间】:2015-08-09 15:24:09
【问题描述】:

我正在迁移到 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的实际使用有什么有用的例子吗?

【问题讨论】:

    标签: systemjs


    【解决方案1】:

    您可以隐藏正文,创建一个 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
    

    【讨论】:

    • 当第一条评论的第一行以“you may hide the body”开头时,我有点紧张
    • 我永远不会那样做。
    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2020-04-29
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    相关资源
    最近更新 更多