簡體   English   中英

錯誤:TS2345:使用打字稿進行編譯時

[英]Error: TS2345: when compiling with typescript

我在nodejs / express項目的上下文中從1.8.10 ts編譯器收到此錯誤:

錯誤:(17,23)TS2345:類型'typeof'/ Users / ME / Documents / Apps_And_Sites / Js_Apps / site / apps / directory / directory_contr ...的參數無法分配給類型'Router'的參數。類型'typeof“ /用戶/ ME /文檔/ Apps_And_Sites / Js_Apps / site / apps / directory / directory_contr ...”中缺少參數。

這是控制器文件:

Import * as express from "express"
import * as directory_models from "./directory_models"
import * as forms from "formidable"

let directory_router = express.Router()  // HERE /////////


// GET
directory_router.get("/list", function (req, res) {

    function callback (err, data) { // function definition
        res.render("directory_views.ejs", {datatest: data})
    }

    directory_models.read(
        `SELECT link_title 
        FROM 
        links`,
        callback)
})

// POST
directory_router.route("/create")

// Display form page
    .get(function (req, res) {
        res.render("directory_post.ejs")
    })

    // Process form
    .post(function (req, res) {
        let form = new forms.IncomingForm()
        form.parse(req, function (err, fields, files) {
            directory_models.create(fields)
        })
        res.render("directory_post.ejs")
    })


module.exports = directory_router

這是Web應用程序的入口文件:

import * as express from "express"
import * as lodash from "lodash"
import * as directory from "./apps/directory/directory_controller"


// Non require variables
let app          = express()
let port         = process.env.PORT || 3002
import * as forms from "formidable"    


app.use("/directory", directory) // ERROR HERE ////////
app.set("views", [__dirname + "/apps/directory/views/", "views"])
app.set("view engine", "ejs")

app.listen(port, function () {
  console.log("Server is listening on port:" + port)
})

它不會阻止項目正常運行,但是我仍然想了解並擺脫此錯誤。 你知不知道怎么 ?

module.exports = directory_router

你應該做:

export = directory_controller

暫無
暫無

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

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