为什么 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'] 解决问题。
我的以下代码:
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'] 解决问题。