【发布时间】:2018-04-05 10:52:30
【问题描述】:
我有一个简单的文件,我正在使用 define 使用 requireJS 加载依赖项:
define([
"dojo/_base/declare",
"dojo/aspect",
"local/path/to/myFile"
], function(
declare,
aspect,
myFile
) { ...
这可以正常工作,文件映射到 requireJS 配置中。
但是,如果我尝试使用绝对路径(完全相同的文件)访问其中一个文件:
define([
"dojo/_base/declare",
"dojo/aspect",
"https://blah.com/absolute/path/to/myFile.js"
], function(
declare,
aspect,
myFile
) { ...
我收到以下错误:
"message": "错误:\"https://blah.com/absolute/path/to/myFile.js\" 的脚本错误,需要:/home/test_vds_jasmine/test/modules/myFile-spec4.js\nhttp://requirejs.org/docs/errors .html#scripterror\nat /home/node_modules/requirejs/require.js:168:17\n\nmakeError@/home/node_modules/requirejs/require.js:168:17\nnewContext/context.onScriptError@/home/node_modules /requirejs/require.js:1738:36\n"
我尝试了各种绝对路径,包括有和没有https,有和没有.js 扩展,但我画的是空白,错误消息根本没有帮助。
我是否以错误的方式调用绝对路径?有没有人有这样做的经验?
我必须使用绝对路径调用某些文件是有正当理由的,否则我只会在本地调用所有文件。
【问题讨论】:
-
谢谢@TarunLalwani 会尝试这些,以为我已经用尽了一切,但
shim方法很有趣 -
@DarrenSweeney 加载该文件的网络请求的结果是什么?在调试器中,检查响应的 HTTP 状态和实际传输的内容(可能与您期望的内容不同)。如果网络请求失败或者你得到了错误的内容,那么 RequireJS 无法解决这个问题,问题就出在其他地方。
-
@DarrenSweeney 向我们展示了已加载文件的定义语句 - 以及实际异常的消息 - 您的设置中是否还有任何 baseUrl/路径定义?如果通过 https 加载,它们的应用会有所不同......因此依赖关系将使用不同的策略来解决。
-
@DarrenSweeney,我发布的链接的任何更新,是否有帮助?
标签: javascript requirejs amd