![](/img/trans.png)
[英]is it possible? how to access node.js file from different node.js file in different directory?
[英][Node.js]How to access files in different directory using readFile
在主目录下:
在 server.js 里面:
//Cannot access index.html
file.readFile('index.html', 'utf8', function(err, contents){
//some code
});
具体来说,我们如何访问stylesheet.css和index.html
要访问顶级目录中的文件夹,您可以在路径中使用..
。
在server.js
中访问index.html
//access top level directory using `..`
file.readFile('../index.html', 'utf8', function(err, contents){
//some code
});
file.readFile('../css/stylesheet.css', 'utf8', function(err, contents){
//some code
});
理想情况下,您总是从绝对路径导入。 这可以防止在您重组应用时破坏您的应用。 我建议始终从项目的根目录启动您的应用程序,例如node.js/server.js
。
从根目录启动时, process.cwd()
(当前工作目录)变量将始终指向项目的根目录,文件读取可以使用以下方法完成:
var { join } = require('path')
var htmlFile = join(process.cwd(), 'index.html')
var cssFile = join(process.cwd(), 'css', 'stylesheet.css')
// read html file
file.readFile(htmlFile, 'utf8', function(err, contents){
//some code
});
// ...
当您启动服务器时,会设置一个名为__dirname
的全局变量,该变量保存server.js
所在文件夹的绝对路径。 现在我们可以使用该值来读取与server.js
文件相关的文件。 在下面的代码中,我使用path.join()
构造了您要访问的文件的路径。 双点( ..
)是js文件夹上面的目录。
const fs = require("fs");
const path = require("path");
// Get the absulote path of the files
const htmlFile = path.join(__dirname, "..", "index.html");
const cssFile = path.join(__dirname, "..", "css", "stylesheet.css");
// Read files
fs.readFile(htmlFile, "utf8", function (err, content) {
console.log(content);
});
fs.readFile(cssFile, "utf8", function (err, content) {
console.log(content);
});
尝试添加“。”,所以它将是:
fs.readFile("./../index.html", "utf8", (err, content){ return })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.