簡體   English   中英

我如何使用 require() 通過添加本地項目 json 文件路徑來讀取本地 json 文件?

[英]how could i use require() to read a local json file by just adding the local project json file path?

這就是我設法能夠讀取json文件的方式

post.js 文件

const PATH = require('/Users/jorgesisco/Dropbox/Programming_Practice/Web_Development/PWJ/Module-8/Blog/pwj-module-8-my-blog-api/exercise/data.json');

class Post {
  get() {
    // get posts
  }
  getIndividualBlog() {
    // get one blog post
  }

  addNewPost() {
    // add new post
  }

  readData() {
    return PATH; 
  }
}
module.exports = Post;

現在在 app.js 中,我調用了該函數,並且可以在 postman 中看到 json 文件。

// 1st import express
const express = require('express');
const app = express();
const Post = require('./api/models/posts');
const postsData = new Post();

const posts = [
  {
    id: '1581461442206',
    title: 'This is a New Blog Post',
    content: 'This is the content! ',
    post_image: 'uploads/post-image-1581461442199.jpg',
    added_date: '1581461442206',
  },
];
// const result = posts.flatMap(Object.values);

app.get('/api/posts', (req, res) => {
  res.status(200).send(postsData.readData());//here I call the function to see json file in postman
});

app.listen(3000, () => console.log('listening on http://localhost:3000'));

我認為我不應該為 json 文件使用整個文件路徑,但是當我只使用 ./data.json 之類的東西時會發生錯誤,因為它找不到 json 文件。

要從同一目錄訪問文件,您需要傳遞'./'示例: require('./data.json');

用於從當前目錄'../'一個目錄訪問文件示例: require('../data.json');

用於訪問不同文件夾中'../../foldername/data.json'兩個目錄中的文件'../../foldername/data.json'示例: require('../../dataFolder/data.json');

文件路徑引用自您運行主代碼的目錄 (app.js)

  1. 將 data.json 文件移動到代碼所在的目錄中。 假設main_code/datadir 所以,現在看起來是這樣的——
-- maincode
   -- datadir
      -- data.json
   -- posts.js
   -- app.js
  1. 將posts.js 代碼中的文件引用為require('./datadir/data.json') (假設datadir/與您的app.js代碼在同一路徑/級別)
  2. 運行 app.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM