【问题标题】:express routing calling a class快速路由调用一个类
【发布时间】:2020-11-13 02:21:10
【问题描述】:

我正在学习 express js,想用它做一个基本的保存文档。所以我有一个允许我上传 Excel 文件的 dropzone。我只想对 Excel 进行基本解析,以便在 postgreSQL 数据库中保存一些数据。

var express = require('express');
var router = express.Router();
var fileupload = require("express-fileupload");
router.use(fileupload());
import { Parser } from "../src/Controller/Parser";
//var Parse = require('../src/Controller/Parser'); // this throws -> Cannot find module '../src/Controller/Parser'

router.post('/sourceParser', function (req, res) {
    console.log('file: ', req.files.file.data) // buffer with the excel file

    let parser = new Parser()
    parser.sourceParser(req.files.file.data);

    return res.status(200).send('File uploaded') // file[0].data
});

module.exports = router;

这是我得到的错误:

import { Parser } from "../src/Controller/Parser";
^^^^^^

SyntaxError: Cannot use import statement outside a module

编辑,添加 Parse 类源

class Parser {

    constructor(){
    }

    sourceParser(binaryStr: string | ArrayBuffer | null){
        // ...
    }
}

module.exports = Parser;

所以我的问题是如何在路由器中调用“解析器”类?任何建议都非常感谢 谢谢!

【问题讨论】:

    标签: node.js typescript express routes


    【解决方案1】:

    将您的类导入如下:

    const Parser = require("./../src/Controller/Parser");
    

    【讨论】:

    • 错误:找不到模块'../Controller/Parser'(我改变了路径,认为它是这样的,但没有线索)
    • 你可以试试下面的合成器吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多