2016-04-27 8 views
0

Kompilieren bekomme ich diesen Fehler aus dem 1.8.10 ts Compiler im Rahmen eines NodeJS/Express Projekt:Fehler: TS2345: wenn sie mit Typoskript

Error:(17, 23) TS2345: Argument of type 'typeof "/Users/ME/Documents/Apps_And_Sites/Js_Apps/site/apps/directory/directory_contr...' is not assignable to parameter of type 'Router'. Property 'param' is missing in type 'typeof "/Users/ME/Documents/Apps_And_Sites/Js_Apps/site/apps/directory/directory_contr...'.

Hier ist die Controller-Datei:

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 

Und hier ist der Eintrag Datei des Web-App:

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) 
}) 

Es ist nicht das Projekt richtig funktioniert nicht verhindern, aber immer noch Ich möchte diesen Fehler verstehen und beseitigen. Weißt du wie ?

Antwort

0

module.exports = directory_router

sollten Sie tun:

export = directory_controller 
+0

es in der Tat nicht, das Problem zu beheben es Ihnen danken. Mit all diesen Exporten/Importen wirklich verloren gehen. Der transpilierte Code ist derselbe, also war es in einer Typoskript-Umgebung einfach nicht die richtige Syntax. –

Verwandte Themen