Angular 4-从节点模块动态加载CSS

时间:2018-09-13 00:22:04

标签: css angular

在Angular 4应用程序中,我通过npm收到的CSS文件很少(在node_modules文件夹中分别为 app-desktop.css app-mobile.css )。应用加载后,我正在进行设备检测,并希望加载适当的CSS。

当前,我将css文件复制到资产文件夹中,并在onInit上的app.component中,将链接标签添加到引用资产文件夹的文档中。如下所示:

    ngOnInit() {
        const link = document.createElement('link');
        link.setAttribute('rel', 'stylesheet');
        link.setAttribute('type', 'text/css');
        if (deviceMobile()) {
          link.setAttribute('href', './assets/css/app-mobile.css');
        } else {
            link.setAttribute('href', './assets/css/app-desktop.css');
        }
        const head = document.getElementsByTagName('head')[0];
        head.insertBefore(link, head.firstChild);
    }

我不想继续使用这种方法,因为每次发布新版本的CSS时都需要更新资产文件夹。

在应用启动过程中,是否有更好的方法从NodeModules文件夹动态注入CSS?

0 个答案:

没有答案