javascript - require.js 需要一个带有 index.js 的模块

标签 javascript typescript requirejs chutzpah

所以我正在尝试设置 Typescript 和 Chutzpah 以进行测试。 Typescript 设置为以这种格式输出:

define(['require', 'exports', './someModule'], function(require, exports, someModule) {
    //examplecode
});

这很好用,当 someModule 实际上是一个带有 index.js 的目录时就会出现问题。

/app
  app.js
  /someModule
    index.js

require.js 无法以这种方式解析 someModule,测试失败。

有什么方法可以告诉 require.js 这是一个模块吗?

最佳答案

RequireJS 不会自动检查 index.js 是否存在并将其加载为您的模块。你需要告诉 RequireJS 当你想加载 someModule 时,它应该加载 someModule/index。我会设置一个 map在我对 require.config 的调用中:

require.config({
  [ ... ]
  map: {
    '*': {
        someModule: 'someModule/index',
    }
  },
});

您必须调整您在此处提供的名称,使其成为相对于您的 baseUrl 的路径。从您在问题中提供的信息中不清楚它应该是什么。

(作为记录,还有一个 packages 设置,您可以调整它来做您想做的事情,但是放置一些东西 packages 说“这是一个包”,这不是您所看到的在这里。所以我不会用它来做你想做的事情。)

关于javascript - require.js 需要一个带有 index.js 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41816611/

相关文章:

javascript - 执行 NodeJS 模块并注入(inject)特定变量

javascript - 如何在基于 Backbone.js 的应用程序中干净地获取 401

javascript - OpenLayers 3,几何之间的区域交集

javascript - 如何动态地向图像添加自定义文本输入

javascript - 字符串切片的算法复杂度是多少? (实用,真实世界)

typescript - 具有动态静态字段的函数

javascript - 模块模式-如何将一个模块的代码拆分到不同的js文件中?

javascript - 等待表单提交时循环的返回

typescript - eslint 未检测到 TS 错误

html - 如何使用 React 提供多个 HTML 文件?