需要来自bower_components的JS文件,说“require('library')”可能吗?

时间:2014-08-25 14:11:41

标签: javascript requirejs bower

我是RequireJS的新手,似乎实际上可能无法实现,但我仍然会继续问我以防万一。

在文档中它说..

  

此设置假设您将所有JavaScript文件保存在"脚本"项目中的目录。

     
      
  • 项目目录/   
        
    • project.html
    •   
    • 脚本/   
          
      • main.js
      •   
      • 助手/   
            
        • util.js中
        •   
      •   
    •   
  •   

但是如果我需要在bower_components中安装我的凉亭安装文件中的文件:

  
      
  • 项目目录/   
        
    • bower_components /   
          
      • jQuery的滚轮   
            
        • jquery.mousewheel.js
        •   
      •   
      • lodash   
            
        • DIST   
              
          • lodash.js
          •   
        •   
      •   
    •   
  •   

如您所见,并非所有库都具有相同的目录层次结构和命名约定。

所以我想知道是否有一种简单的方法来要求这些凉亭库而不知道他们的主要文件在哪里,也许只是简单地说

require('jquery-mousewheel');
require('loadash');

2 个答案:

答案 0 :(得分:6)

设置您的requirejs配置以使用路径

requirejs.config({
    // ... config ...
    paths: {
        jquery-mousewheel: 'bower_components/jquery-mousewheel/jquery.mousewheel',
        loadash: 'bower_components/lodash/dist/lodash' 
    }
    // ... config ...
});

documentation for reference

答案 1 :(得分:3)

我认为this is a better solution ...

requirejs.config({
  baseUrl: 'bower_components/',
  paths: { // path to your app
    app: '../'
  }
});

requirejs( [
  'imagesloaded/imagesloaded',
  'app/my-component.js'
], function( imagesLoaded, myComp ) { 
  imagesLoaded( '#container', function() { ... });
});