javascript - 通过说 "require(' library')"可能需要来自 bower_components 的 JS 文件?

标签 javascript requirejs bower

我是 RequireJS 的新手,看起来它实际上可能是不可能的,但我仍然会继续问下去,以防我遗漏了什么。

在文档中它说..

This setup assumes you keep all your JavaScript files in a "scripts" directory in your project.

  • project-directory/
    • project.html
    • scripts/
      • main.js
      • helper/
        • util.js

但是如果我必须在 bower_components 中从我的 bower 安装文件中获取文件怎么办:

  • project-directory/
    • bower_components/
      • jquery-mousewheel
        • jquery.mousewheel.js
      • lodash
        • dist
          • lodash.js

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

所以我想知道是否有一种简单的方法可以在不知道它们的主要文件在哪里的情况下请求这些 bower 库,也许只需说

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

?

最佳答案

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

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

documentation for reference

关于javascript - 通过说 "require(' library')"可能需要来自 bower_components 的 JS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487857/

相关文章:

php - 使用配置文件中的值从配置文件加载数据

javascript - 为什么 Internet Explorer 会在存储数据的窗口上触发窗口 "storage"事件?

javascript - Require.js 问题加载谷歌地图和它的 Richmarker 扩展

javascript - 路径和垫片的模块配置

javascript - Uncaught Error : [$injector:unpr] Unknown provider:

javascript - 使用下划线的 _.extend(...) 而不覆盖某些目的地的成员

javascript - 如何在chrome浏览器扩展中执行javascript

javascript - Cordova + RequireJS : How load the File-Plugin

bower - 永久忽略与 Bower 的依赖关系

node.js - bower 安装: unknown encoding