【问题标题】:How to load css by using requirejs?如何使用requirejs加载css?
【发布时间】:2017-07-20 19:13:31
【问题描述】:

这是我的 requirejs 配置文件。我在基于角度的项目中使用 require js。如果我可以使用requirejs 加载 css,我也可以组织我的 css 文件!我是 requirejs 概念的新手。任何帮助表示赞赏

require.config({
    paths:{
        'angular'       : "agular",
        'app'           : 'app',
        'coreModel'     : 'coreModel',
        'test'          : 'controller/test'
    },
    shim: {
        'app' : {
            deps :['angular','coreModel',]
        },

        'coreModel' : {
            deps : ['angular','test']
        },
        'test' : {
            deps : ['angular',]
        }
    },
});

require(['app',],function(){
    angular.bootstrap(document,['app']);
});

这是我的主控制器

define(function(){

    var coreModel = angular.module('coreModel',['test']);

    coreModel.controller('mainController',function($scope){
        $scope.test = "Hello World";
    });
});

如何使用 requirejs 加载 css ?

【问题讨论】:

标签: angularjs requirejs oclazyload


【解决方案1】:

我宁愿建议你使用 ocLazyLoad 来做一些不同的事情。

参考我的回答here

按照上述链接的初始步骤进行配置

我建议您在控制器文件中使用这种方式,如下所示

(function () {
    angular.module('myApp').controller("homeCtrl", function ($ocLazyLoad,$scope) {

          //this line loads your styles and apply it 
          $ocLazyLoad.load('style.css');

});
})();

LIVE DEMO

注意:在demo中点击菜单->点击主页

【讨论】:

  • 很高兴为您提供帮助:)
  • 哦,是的,这好多了!
  • 不回答 OP
  • @catbadger 那么对 OP 的回答是什么?
【解决方案2】:

取自requirejs documentation

由于知道文件何时加载是不可靠的,所以它不 在 RequireJS 加载中显式支持 CSS 文件是有意义的,因为 由于浏览器行为,它将导致错误报告。如果你不 文件加载时小心,您可以轻松编写自己的函数 通过执行以下操作按需加载 CSS:

function loadCss(url) {
    var link = document.createElement("link");
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = url;
    document.getElementsByTagName("head")[0].appendChild(link);
}

但是您可以使用requirecss 使其像requirejs 一样简单:

  • 使用bower install require-css 安装require-css
  • 配置您的应用程序

    map: {
      '*': {
        'css': 'require-css/css' // or whatever the path to require-css is
      }
    }
    
  • 像在 requirejs 中那样为 requirecss 添加文件

    define(['css!styles/main'], function() {
       //code that requires the stylesheet: styles/main.css
    });
    

【讨论】:

    猜你喜欢
    • 2013-02-22
    • 1970-01-01
    • 2013-03-25
    • 2018-03-03
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多