Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用在浏览器内和浏览器外同时运行的代码(node.js文件系统)_Javascript_Node.js - Fatal编程技术网

Javascript 如何使用在浏览器内和浏览器外同时运行的代码(node.js文件系统)

Javascript 如何使用在浏览器内和浏览器外同时运行的代码(node.js文件系统),javascript,node.js,Javascript,Node.js,我想在浏览器中输入文件夹的路径并显示其中的所有文件名,我发现可以使用节点fs,但我还有在浏览器中运行的代码,它需要位于文件中的VAR,它将在浏览器外部使用节点运行。我需要创建带有节点的服务器并从中运行所有代码?或者你能给我什么建议来达到这个目标?PS:顺便说一下,我在使用webpack时,浏览器端和服务器端的javascript之间存在差异。您不能直接从浏览器访问目录。为了获得文件列表,您需要一些后端技术,如PHP、Java、node、python等。您可以使用节点服务器和下面的代码来读取目录。

我想在浏览器中输入文件夹的路径并显示其中的所有文件名,我发现可以使用节点fs,但我还有在浏览器中运行的代码,它需要位于文件中的VAR,它将在浏览器外部使用节点运行。我需要创建带有节点的服务器并从中运行所有代码?或者你能给我什么建议来达到这个目标?PS:顺便说一下,我在使用webpack时,浏览器端和服务器端的javascript之间存在差异。您不能直接从浏览器访问目录。为了获得文件列表,您需要一些后端技术,如PHP、Java、node、python等。您可以使用节点服务器和下面的代码来读取目录。然后从前端向后端服务器发出一个简单的HTTP请求

const path = require('path');
const express = require('express');
const fs = require('fs');

const PORT = 3000;
const app = express();

app.get('/getfiles',  async (req, res) => {
  const directoryPath = path.join(__dirname, 'Documents');
    let data = [];
    await fs.readdir(directoryPath, function (err, files) {
        //handling error
        if (err) {
            return console.log('Unable to scan directory: ' + err);
        } 
        
        //listing all files using forEach
        files.forEach(function (file) {
            // Do whatever you want to do with the file
            data.push(file)
        });
    });
    
    res.send(data);

});



app.listen(PORT, ()=>{
    console.log(`server running on port ${PORT}`);
});

浏览器端和服务器端的javascript之间存在差异。您不能直接从浏览器访问目录。为了获得文件列表,您需要一些后端技术,如PHP、Java、node、python等。您可以使用节点服务器和下面的代码来读取目录。然后从前端向后端服务器发出一个简单的HTTP请求

const path = require('path');
const express = require('express');
const fs = require('fs');

const PORT = 3000;
const app = express();

app.get('/getfiles',  async (req, res) => {
  const directoryPath = path.join(__dirname, 'Documents');
    let data = [];
    await fs.readdir(directoryPath, function (err, files) {
        //handling error
        if (err) {
            return console.log('Unable to scan directory: ' + err);
        } 
        
        //listing all files using forEach
        files.forEach(function (file) {
            // Do whatever you want to do with the file
            data.push(file)
        });
    });
    
    res.send(data);

});



app.listen(PORT, ()=>{
    console.log(`server running on port ${PORT}`);
});

非常感谢:)顺便说一句,如果我的站点运行的PC上没有本地安装node,我就无法读取目录了?或者它都将在服务器上,抱歉我不是后端:)节点服务器将在localhost:3000端口上运行,而您的web服务器web服务器将在localhost:80上运行,通常如此..是吗?我只想在不同的PC中使用它,其中没有安装节点。我会找到更多关于它的信息你不需要一台不同的电脑你需要不同的服务器我的意思是我会托管它,其他人可以使用它,所以我问它,应用程序是否可以工作,并在某些电脑上访问他们的文件,非常感谢:)顺便说一句,我无法读取目录,如果我的站点运行的电脑上没有安装node?或者它都将在服务器上,抱歉我不是后端:)节点服务器将在localhost:3000端口上运行,而您的web服务器web服务器将在localhost:80上运行,通常如此..是吗?我只想在不同的PC中使用它,其中没有安装节点。我会找到更多关于它的信息。你不需要不同的电脑,你需要不同的服务器。我的意思是,我将托管它,其他人可以使用它。所以我问它,在特定的电脑上,应用程序是否可以工作,并访问他们的文件