javascript - 如何为不同路径的js文件仅使用一个RequireJS配置文件?

标签 javascript requirejs amd

我正在将 RequireJS 集成到我的项目中。我的项目结构如下:

$ tree
.
|-- common.js
|-- lib
|   |-- jquery.min.js
|   `-- require.js
`-- view
    |-- a
    |   |-- a.html
    |   |-- a.js
    |   `-- b
    |       |-- b.html
    |       `-- b.js
    |-- c.html   
    `-- c.js

common.js 是我的 RequireJS 配置文件,内容如下:

requirejs.config({
    baseUrl: '../lib',
    paths: {
        'jquery': 'jquery.min'
    }
});

/view中不同路径下有js文件。

c.js 运行良好,如下:

requirejs(['../common'], function (common) {
    requirejs(['jquery'], function($){
    .......
    });
});

但是如何在 a.jsb.js 中注入(inject) 'jquery' 并仍然使用 common.js

最佳答案

不要忘记更改 common.js 的路径。应该是:

requirejs(['../../common'], function (common) { ... });

来自 a.js 和

requirejs(['../../../common'], function (common) { ... });

来自 b.js,因为路径是相对于当前文件的。

或者,使用绝对路径。这样,无论您从哪个文件 requirejs 获取,路径都是相同的。例如,如果 common.js 位于 http://www.example.com/scripts/common.js ,使用

requirejs(['/common'], function (common) { ... });

。 (前导 / 使其成为绝对路径。)

关于javascript - 如何为不同路径的js文件仅使用一个RequireJS配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486047/

相关文章:

javascript - 如何调用 jquery 插件

javascript - 了解 Backbone.js 概念

javascript - 如何连接 require.js 和 jquery.min.js?

build - require.js 项目优化 : can't find the dir value

javascript - 如何在 4 个文件上禁用 AMD 并使用 webpack 按顺序加载它们

javascript - 如何正确配置 requireJS

javascript - Kendo ColorPalette 未向 Controller 发送值

javascript - 使用JQuery根据类名隐藏主菜单的<li>元素

javascript - 将 Node Express 服务器上长时间运行的异步函数的进度数据发送到 React 客户端

typescript - 使用 typescript 和 karma 进行单元测试