使用webpack定位Web时替代fs.readFile

时间:2018-04-18 19:31:16

标签: javascript node.js web webpack fs

在我的Electron应用程序中,我正在使用fs.readFile读取一些应用程序文件(不是用户文件,而是Electron应用程序根目录中的实际文件),但是这在包装网络时显然不起作用。或者,我尝试按照以下方式实施某些内容:

function loadFile(filePath: string) {
    let result = null;
    const xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET", filePath, false);
    xmlhttp.send();
    if (xmlhttp.status === 200) {
        result = xmlhttp.responseText;
    }
    return result;
}

不幸的是,我收到了以下异常:XMLHttpRequest cannot load file:///[...]/Testfile.txt. Cross origin requests are only supported for HTTP.

我想知道我可以使用哪种方法来加载服务器"的内容。在打包网络时,文件而不是本地文件(即使我正在本地测试)。

2 个答案:

答案 0 :(得分:0)

我的解决方案无效,因为我在浏览器中本地打开了应用程序,因此请求协议为file://。为了能够调试它,我安装了serve并启动了一个本地服务器来测试应用程序。

答案 1 :(得分:-1)

您的问题已经回答了吗? 如果不。试试这个:

if (xmlhttp.status === 200 || xmlhttp.status === 0) {
    result = xmlhttp.responseText;
}