nodejs fs path讀取文件路徑問題


nodejs中想要訪問根目錄同級目錄里的文件,開始用__dirname,發現_dirname只是追加自身的目錄路徑,能調取到同級目錄下的文件,卻不能調取其他目錄下的文件,嘗試把文件路徑換成相對路徑可以訪問成功,考慮到項目中不會去層層翻目錄,翻了資料nodejs的fs模塊大多是結合了nodejs的path模塊使用,path.resolve和path.join兩個方法能傳入文件路徑,並且文件不存在時會拋出異常;

分別讀取json文件夾下的list.json和server文件夾下的list.json;

 

 

var express = require('express')

var app = express()

var fs = require('fs')

var path = require('path')

var mysql = require('mysql')

var cors = require('cors')

let PUBLIC_PATH = path.resolve(__dirname, '../json');
 
// 設置跨域訪問
app.all('*', function (req, res, next) {
  res.header('Access-Control-Allow-Origin', '*')
  res.header('Access-Control-Allow-Headers', 'X-Requested-Width')
  res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
  res.header('X-Powered-By', '3.2.1')
  res.header('Content-Type', 'application/json;charset=utf-8')
  next()
})
 
// 讀取本地json文件
app.get('/list', function (req, res) {
  fs.readFile(__dirname + '/' + 'list.json', 'utf-8', function (err, data) {
    console.log('執行服務成功')
    res.end(data)
  })
})

// 讀取json文件夾下的json文件
app.get('/file', function (req, res) {
  fs.readFile(PUBLIC_PATH + '/list.json', 'utf-8', function (err, data) {
    console.log('讀取文件成功')
    res.end(data)
  })
})
 

var server = app.listen(3080, function () {
  var host = server.address().address
  var port = server.address().port
  console.log(host, port)
})
 
最后進入到server文件夾node server.js
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM