Как создать экспресс-приложение с импортом вместо require

Использование одного и того же процесса для службы и активности и START_STICKY или START_REDELIVER_INTENT в сервисе - единственный способ перезапустить службу при перезапуске приложения, которое происходит, когда пользователь закрывает приложение, например, а также когда система решает закрыть его по соображениям оптимизации. У вас нет службы, которая будет работать постоянно без прерывания. Это по дизайну, смартфоны не предназначены для непрерывного непрерывного процесса в течение длительного периода времени. Это связано с тем, что срок службы батареи является наивысшим приоритетом. Вам нужно спроектировать свой сервис, чтобы он был остановлен в любой момент.

2
задан Shaun Luttin 6 March 2019 в 18:21
поделиться

1 ответ

TypeScript имеет специальный синтаксис импорта для работы с модулями, которые экспортируют функции или некоторые другие пользовательские объекты в целом (не как экспорт по умолчанию):

import { Request, Response, Application } from 'express';
import express = require('express');

var app: Application = express();

app.get('/', function (req: Request, res: Response) {
  res.send('Hello World')
});

app.listen(3000);

В качестве альтернативы вы можно использовать параметры компилятора TypeScript, чтобы изменить импортированный модуль, чтобы они имели экспорт по умолчанию:

// tsconfig.json
{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,     /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
    "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
  }
}

и импорт, используя этот импорт по умолчанию:

import express from 'express' 
var app = express();
0
ответ дан Kamil Szot 6 March 2019 в 18:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: