javascript - 这个socket.io javascript示例如何翻译成打字稿
问题描述
我正在测试 socket.io 包并使用“聊天示例”(https://socket.io/get-started/chat/),它在 javascript 中运行良好。
但是,我想将该示例翻译为 TypeScript。15行代码。应该很容易吧?但不,我坚持这一点。
如果文件扩展名是 .js,vscode 的智能感知会识别“必需”类型,但是一旦我将扩展名更改为 .ts,则不再识别这些类型。我试图将 'require' 语句转换为 'import' 语句,但这似乎也不起作用。什么是下面代码的正确打字稿等价物
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var port = process.env.PORT || 3000;
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
http.listen(port, function(){
console.log('listening on *:' + port);
});
解决方案
您是否尝试过如下导入?
import express from 'express';
import http from 'http';
import io from 'socket.io';
像这样导入是行不通的
import { express } from 'express';
import { http } from 'http';
import { io } from 'socket.io';
推荐阅读
- twilio - 使用 Angular 将屏幕共享添加到 Twilio Video 应用程序
- git - 将特定的 SVN 分支迁移到 GIT(2018 年迁移的主干)
- cypress - 如何使用柏树中的包含来断言是否存在特定字符串?
- php - PHPSpreadsheet 无法在 Excel 中获取注释
- java - Jetty 11 - HTTP/1.1 到 HTTP/2 升级,handler 怎么写?
- javascript - 在 TypeScript 中的另一个类型别名中传播类型别名
- weka - 在 Weka 中打开 CSV 数据集时,如何将属性转换为“日期”类型?
- python - 如何在networkx中找到几何子图的最近邻?
- c# - 不能在同一帧缝合网格
- tkinter - 如何使 tkinter 小部件全局化