【问题标题】:Read a csv file on request in sapper, svelte在 sapper、svelte 中根据要求读取 csv 文件
【发布时间】:2020-09-25 14:25:11
【问题描述】:

我是苗条的新手,工兵。我正在尝试从路由中的.js 文件中读取位于src/_data.csv 的csv 文件。它给出了no such file or directory 的错误。有人可以帮助找到实现它的方法。我正在existing template 中尝试使用 webpack 作为构建工具。这是结构

_post.js 中,我正在尝试读取存在于根目录src/_data.csv 的文件。

const csv = require('csvtojson');
const path = require("path");

const csvFilePath=path.join(__dirname, '_data.csv');
//console.log("csvFilePath", csvFilePath);
csv()
.fromFile(csvFilePath)
.then(function(data){
    console.log("json data", data)
})

我的目标是读取一个 .csv 文件并将其转换为JSON,可能在每个请求中。我知道 webpack 也处理 __dirname/ 并且在 __sapper__ 中没有 .csv 文件,即构建。但不确定如何让它在工兵中工作。

【问题讨论】:

    标签: webpack svelte sapper


    【解决方案1】:

    由于 Rollup 不处理 __dirname,您可能希望将 CSV 文件放在 外部 src(例如 data/data.csv)的已知目录中并以这种方式读取: p>

    import csv from 'csvtojson';
    
    csv()
      .fromFile('data/data.csv')
      .then(function(data){
        console.log("json data", data)
      })
    

    只要data 目录与您的应用程序的其余部分一起部署,并且您使用正确的process.cwd() 启动应用程序,这将起作用。 (如果只是部署__sapper__的内容,可能需要拷贝到部署目录下,但基本原理是一样的。)

    【讨论】:

    • 感谢您的回答以及Rethinking reactivity :)
    猜你喜欢
    • 2020-02-19
    • 2019-11-24
    • 1970-01-01
    • 2020-09-03
    • 2020-02-13
    • 2020-09-04
    • 2021-07-01
    • 2021-07-14
    • 1970-01-01
    相关资源
    最近更新 更多