knaka Tech-Blog

AI, IoT, DIYエレクトロニクス, データサイエンスについて投稿予定です。

TypeScript +node/express の設定編

index:

概要:

前の TypeScript 関連となり
node.js + express構成となります

環境

TypeScript
node.js
npm
express

参考の設定

github.com

追加の手順

express app

npm install
npm install typescript
npm install @types/node
npm install @types/express

app.ts
https://github.com/kuc-arc-f/ts_express1/blob/master/app.ts

const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const logger = require('morgan');

import {indexRouter} from "./routes/index";
//import {tasksRouter} from "./routes/tasks";

const app = express();
const expressLayouts = require('express-ejs-layouts');
app.use(expressLayouts);

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
const p = new Promise(() => {
});
//
app.use('/', indexRouter );
//app.use('/tasks', tasksRouter );

export {app}

bin/www.ts
https://github.com/kuc-arc-f/ts_express1/blob/master/bin/www.ts

import を、設定します

import {app} from "../app";

package.json
https://github.com/kuc-arc-f/ts_express1/blob/master/package.json

ルーティング

routes/ index.ts : router を、export します

import {NextFunction, Request, Response} from "express";
const express = require('express');
//const path = require('path');
const router = express.Router();

/* GET home page. */
router.get('/', function(req: Request, res: Response, next: NextFunction) {
  res.render('index', { title: 'Express' });
//  res.send('respond with a resource-1122');
});

export {router as indexRouter}

サービス起動

・tsコンパイル

dist/ の下に、jsコンパイルされます

npm run watch

express起動
port =3000番で、起動

npm start