node.js - kan inte importera moduler i nodtyp med TypeScript


Jag försöker skriva en Node-app med TypeScript med gulp, där jag skriver server.ts-filen i TypeScript som

import express from 'express';
import mongoose from 'mongoose';


let app=express();
app.set('port', process.env.PORT || 3000); // Set port to 3000 or the provided PORT variable


/**
 * Start app
 */
app.listen(app.get('port'), function() {
  console.log(`App listening on port ${app.get('port')}!`);
});

Jag har använt gulp för att kompilera och placera i src-mappen från vilken jag kommer att köra min app

här är min gulpfile-kod:

var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var tsc = require('gulp-typescript');
var config = require('./gulp.config')();
var tsProject = tsc.createProject('tsconfig.json');



gulp.task('compile', function() {
  var sourceTsFiles = [
        config.allTs,
        config.typeings,
    ];
    var tsResult = gulp
        .src(sourceTsFiles)
        .pipe(sourcemaps.init())
        .pipe(tsc(tsProject));

    return tsResult.js
        .pipe(sourcemaps.write('./map'))
        .pipe(gulp.dest(config.tsOutPutPath));
});


gulp.task('default', function() {
  // place code for your default task here
});

här är min gulp.config-fil

module.exports = function () {
    var config = {
        allTs:'./server.ts',
        typeings:'./typings/**/*.ts',
        tsOutPutPath:'./src'
    };
    return config;
}

när jag kör min gulp-uppgift får jag felet kan inte hitta modul

Jag undrar varför jag får detta fel, vänligen rätta mig om jag gör något fel.

Svar #1

Jag har gjort det dumma misstaget att jag inte har installerat typningen för de modulerna. Installera all typning för alla moduler och dess beroenden så fungerar det bra.