React:在没有本地服务器的加载文件上交叉原始请求

时间:2015-01-23 14:25:28

标签: javascript google-chrome reactjs requirejs react-jsx

我有两个模块 - 一个在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。

1 个答案:

答案 0 :(得分:2)

问题确实存在于Felix所指出的模块加载器中。我的模块加载器是jsx-requirejs-plugin,如果我们使用require调用,它在内部使用requirejs-text来加载jsx文件。

如配置部分下的requirejs-text文档中所述,它受到XHR限制,如果我们使用" file://"它会限制它的使用。访问文件。

解决方案出现在link

希望它有所帮助。