yeomanを使用してエクスプレスタイプスクリプトプロジェクトを生成しましたが、いつでもアプリケーションを実行すると、ffエラーが発生します: モジュール "morgan"を見つけることができません モジュール "body-パーサクッキーパーサ 『Yeoman Generated Express Typescriptプロジェクトでモジュールエラーが見つかりません
」 はモジュールを見つけることができません』しかし、すべてこれはnode_modulesディレクトリに終了モジュール、私の周りGoogleで検索し、私は見つけることができる唯一のことは、のルートに括弧なしNPMリンク(モジュール名)を実行することでしたプロジェクトが、それでも問題が存在する場合、私はrootでnpmをインストールしようとしましたが、エラーは消えません。私はまた、それらの欠落したモジュールだけをローカルにインストールしましたが、それはまだ動作しません。
私は間違っています。
これは私のapp.tsです。
/// <reference path="./typings/tsd.d.ts"/>
/// <reference path="./typings/index.d.ts" />
import * as path from 'path';
import * as logger from 'morgan';
import * as express from 'express';
import * as bodyparser from 'body-parser';
import * as cookieParser from 'cookie-parser'
// Import our application router class to handle routing.
import { ApplicationRouter } from './routes/index';
// Module for the express application.
var app = express();
// Our express middleware.
app.use(logger('dev'));
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({ extended: false }));
app.use(cookieParser());
// Global application headers.
app.use((req: express.Request, res: express.Response, next: Function) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Method', 'GET, POST, PUT, PATCH, DELETE, OPTIONS');
res.header('Access-Control-Allow-Header', 'Origin, X-Requested-With, Content-Type, Accept');
});
// Router Module
let appRouter = new ApplicationRouter();
// Application's routes.
app.use(appRouter.getIndex());
// Catch 404 and forward to error handler.
app.use((req: express.Request, res: express.Response, next: Function) => {
var error: any = new Error('Not Found');
error.status = 404;
next(error);
});
// Development error handler will print stacktrace.
if (app.get('env') === 'development') {
app.use((error: any, req: express.Request, res: express.Response, next: Function) => {
return res.status(error.status || 500);
});
}
// Production error handler prints no stacktrace to user.
app.use((error: any, req: express.Request, res: express.Response, next: Function) => {
return res.status(error.status || 500);
});
module.exports = app;
これは半分ですが、r eferenceタグは、npmとは関係なく、ファイルがどのように配布されているか、自分で書いたかどうかは分かりません。あなたが指摘しているようにtsconfig.jsonファイルを実行する必要があります。さらに重要なことは、記述されたライブラリがモジュールであるかどうかです。言い換えれば、ファイルを自分で書いたのであれば、参照タグがモジュールであればそれを使用しません –