我有两个模块 - 一个在React JSX中,另一个在JavaScript中。
define(function (require) {
var ExternalJSInterface = require("./../../utils/ExternalJSInterface");
var ExternalJSXInterface = require("jsx!ExternalJSXInterface");
}
我在加载ExternalJSXInterface时收到此错误:
XMLHttpRequest无法加载 文件:///Users/.../../ExternalJSXInterface.jsx。交叉原始请求 只支持协议方案:http,data,chrome, chrome-extension,https,chrome-extension-resource。
我认为ExternalJSInterface也应该出现同样的错误。但它的工作正常。
我使用标记设置为allow-file-access-from-files
的Chrome。
答案 0 :(得分:2)
问题确实存在于Felix所指出的模块加载器中。我的模块加载器是jsx-requirejs-plugin,如果我们使用require调用,它在内部使用requirejs-text来加载jsx文件。
如配置部分下的requirejs-text文档中所述,它受到XHR限制,如果我们使用" file://"它会限制它的使用。访问文件。
解决方案出现在link。
希望它有所帮助。