为什么 requireJS 不在模块名称中附加“.js”

Why requireJS is not appending '.js' in module names

我的以下代码:

require(['/AppScripts/book/properties'], function (mod) {
    ...
});

失败,因为它在 url 中发送没有 .js 的获取请求,如下所示:
http://localhost:182/AppScripts/book/properties

同样,由于同样的原因,定义也失败了:

define(["require", "exports", "global"], function (require, exports, global_1) {
    ...
});  

生成 http://localhost:182/global 遗漏 .js

我通过添加“.js”仔细检查了两个 url,他们找到了所需的脚本。

这是我的配置:

requirejs.config({
    paths: {
        jquery: '../Scripts/lib/jquery',
        requirejs: '../Scripts/lib/require',
    }
});

我能找到的所有文档和参考资料都说扩展名是自动附加的,但在我的情况下不是。我的问题是,这段代码是由 TypeScript 编译器生成的,所以我无法手动添加扩展。它必须由 requireJS 处理。

有人可以帮我解决我所缺少的吗?谢谢。

编辑
这是我的 tsconfig:

{
  "compileOnSave": true,
  "compilerOptions": {
    "module": "AMD",
    "noImplicitAny": true,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "ES5",
    "outDir": "../AppScripts",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "allowSyntheticDefaultImports": true,
    "skipLibCheck": true,
    //"watch": true,
    "baseUrl": "./",
    "paths": {
      "*": [ "TypeScripts/typings/*" ]
    },
    "typeRoots": [
      "TypeScripts/typings"
    ]
  },
  "exclude": [
    "node_modules",
    "wwwroot",
    "TypeScripts/typings"
  ]
}

requirejs 将从“/”开始的路径视为绝对路径,因此不会在字符串的左侧或右侧附加任何内容,而我正在寻找不能从“/”开始的相对路径。将 require(['/AppScripts/book/properties'] 更改为 require(['AppScripts/book/properties'] 解决问题。