2017-03-01 88 views
1

這是我的requirejs配置文件。我在基於角度的項目上使用require js。如果我可以用requirejs加載css,我也可以組織我的css文件!我是requirejs概念的新手。任何幫助表示讚賞如何使用requirejs加載css?

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?

+0

是否有任何簡單的文檔或Web上的指導require-css? , –

+0

https://github.com/guybedford/require-css/tree/master/example – lin

+0

@lin謝謝,有幫助 –

回答

3

做到了用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

注意:在演示中點擊菜單 - >單擊主頁

+0

非常感謝你,你救了我的命... –

+0

高興地幫助你:) – Aravind

+0

噢,這太好了! – lin

1

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簡單做:

  • 安裝要求,CSS與bower install require-css
  • Configurate您的應用程序

    map: { 
        '*': { 
        'css': 'require-css/css' // or whatever the path to require-css is 
        } 
    } 
    
  • 添加您的文件requirecss就像你在requirejs

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