我使用基本的jQuery和lodash模板开发了几个工具。
我意识到使用那些Ajax调用的库在文件系统上不起作用,并在我尝试使用ajax加载模板时出现此错误:
XMLHttpRequest无法加载文件:///Users/Pro/Google%20Drive/dev/tasks/webDevEnvironment/public/html/pipeline-doc/templates/content-one-variable.html。
交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource
我非常喜欢React的理念,对于我正在构建的小工具来说,这可能有点过分。在我开始重新编码所有内容之前,我想知道React应用程序是否在后台使用了ajax模板,或者是否可以在脚本标记中加载所有内容?
我刚刚开始使用React,根据我的理解,使用file://协议不会有问题......但我更愿意确定!
答案 0 :(得分:2)
在最基本的情况下,它不会有问题。根据你用它做的事情,它可能很快就会遇到麻烦。
一个简单的解决方法是不要在file://
协议上执行此操作。您可以轻松地在节点中创建类似轻量级express
服务器的内容,然后允许您对http://
协议进行操作并回避整个问题。
var express = require('express'),
app = express();
app.use(express.static('source-files-directory-goes-here'));
app.listen(3000, function () { console.log('Listening on port 3000'); });
将其丢弃在名为server.js
之类的文件中,然后您可以使用node server.js
运行该文件,它将从http://localhost:3000
目录中的任何文件中搜索文件。您只需使用npm install express
即可获得它。
如果你想要一个package.json
,如果你要使用React,你会想要它,你可以这样:
{
"dependencies": {
"express": "latest"
},
"scripts": {
"start": "node server.js"
}
}
并使用npm start
运行。