云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名备案_阿里云虚拟空间_三重好礼

小七 141 0

云服务器平台_如何租用_苹果云储存空间不可用

了解如何使用节点.js、Express和TypeScript,允许客户端对描述餐厅菜单的资源执行数据操作。将TypeScript与节点.js允许您访问可选的静态类型检查,以及大型应用程序的健壮工具和最新的ECMAScript特性。还将学习如何定义数据模型、创建数据服务和快速构建模块化端点。作为一个选项,您还可以学习如何使用Auth0保护API。为了查看API的实际操作,您将使用一个名为"WHATABYTE Dashboard"的生产客户机,它的灵感来自Spotify的时尚web播放器。本教程面向具有TypeScript和节点.js. 如果您需要开始使用TypeScript,请前往TypeScript实用介绍。以下业务规则约束API访问:任何人都可以阅读菜单项。只有具有菜单管理员角色的用户才有权创建、更新或删除菜单项。为了简单起见,您将数据存储在内存中,而不是外部数据库中。引导程序a节点.js、Express和TypeScript项目首先在系统中的任何位置创建一个项目目录,并将其作为当前目录:mkdir快速ts apicd express ts api接下来,初始化节点.js通过创建包.json默认文件设置:npm初始-y安装项目依赖项你的节点.js项目需要两个依赖项才能使用TypeScript创建一个安全的Express服务器。安装方式如下:npm i express dotenv cors头盔以下是上述每个包在项目中的作用:快速:快速,返利优惠券,无偏见,极简的网络框架节点.js.dotenv:零依赖模块,它将环境变量从.env文件加载到进程.env.cors:Express中间件使cors具有各种选项。helmet:通过设置各种HTTP报头来保护你的应用程序的快速中间件,可以减轻常见的攻击向量。要使用TypeScript,还需要安装稳定版本的TypeScript作为开发人员依赖项:npm i-D字体要有效地使用TypeScript,您需要为以前安装的包安装类型定义:npm i-D@类型/节点@类型/express@类型/dotenv@类型/cors@类型/头盔当包没有内置类型时,可以通过@types npm命名空间获取其类型定义,该命名空间承载来自DefinitelyTyped项目的TypeScript类型定义。一旦安装了包,数据与大数据,类型将被TypeScript编译器自动包含,您的IDE可以使用它们为您提供代码帮助。使用初始化TypeScript节点.js为了帮助TypeScript编译器理解项目的结构,需要创建一个tsconfig.json文件要用作TypeScript项目根目录的目录中的文件。在本例中,项目目录和TypeScript项目目录是相同的。轻松生成tsconfig.json文件文件,确保您位于项目目录下并发出以下命令:npx tsc—初始化这就是用合理的默认值配置TypeScript项目所需的全部内容。使用环境变量您不必在整个项目的文件中使用硬编码的配置变量,而是可以在中心位置定义所有这些变量,并将它们加载到需要它们的文件模块中。此中心位置通常定义为名为.env的隐藏文件,可以按如下方式创建:触摸环境使用以下变量填充.env隐藏文件,该变量定义服务器可用于侦听请求的端口:端口=7000如下一节所示,项目的任何模块都可以使用dotenv包加载.env中定义的变量。⚠️ 注意:.env文件可能包含敏感信息,如API密钥或机密。因此,将其添加到项目的.gitignore文件中,以防止将其提交到版本控制。使用TypeScript用Express创建节点应用程序要使应用程序组织良好,请创建一个src目录来托管节点.js应用程序文件:mkdir型在这个src目录下,创建一个名为索引.ts作为申请的切入点:触摸src/索引.ts添加到索引.ts以下模板概述了Express服务器:/***所需的外部模块*//***应用程序变量*//***应用程序配置*//***服务器激活*//***网页包HMR激活*/接下来,在Required External Modules部分下,导入先前安装的项目依赖项,并使用dotenv.config文件()方法:/***所需的外部模块*/从"dotenv"导入*为dotenv;从"express"导入express;从"cors"导入cors;从"helmet"导入头盔;dotenv.config文件();在App Variables部分下,检查环境变量端口是否已加载到进程.env. 如果是,请将其值解析为数字类型并创建Express应用程序的实例;否则,退出应用程序:/***应用程序变量*/如果(!进程.env.PORT) {进程.退出(1) ;}const端口:number=parseInt(进程.env.PORT作为字符串,10);const app=express();在App Configuration部分下,将要导入的包中的中间件函数装载到此入口点模块中:/***应用程序配置*/应用程序使用(头盔());应用程序使用(cors());应用程序使用(快递.json());helmet是14个小中间件函数的集合,这些函数设置HTTP响应头。Mounting helmet()不包括所有这些中间件功能,但提供了合理的默认设置,如DNS预取控制、Frameguard、Hide Powered By、HSTS、IE No Open、Don Sniff Mimetype和XSS Filter。通过安装cors(),可以启用所有cors请求。与快递.json(),大数据发展前景,使用JSON有效负载解析传入的请求,返利,JSON有效负载用包含解析数据的新body对象填充request对象。最后,在服务器激活部分下,创建一个Express服务器:/***服务器激活*/常量服务器=应用程序侦听(端口,()=>{控制台.log(`监听端口${port}`);});为带有Webpack的TypeScript设置热模块替换(HMR)TypeScript编译过程可以增加应用程序的引导时间。但是,当源代码发生变化时,免费自助建站软件,不需要重新编译整个项目。从NestJS文档中借用一个页面,您可以设置webpack热模块替换(HMR)来显著减少更改时重新启动应用程序所需的时间。安装TypeScript的Web包依赖项首先安装这些包以创建Web包开发工作流:npm i-D ts加载程序webpack webpack cli webpack节点外部ts-loader:webpack的TypeScript加载器,它帮助预处理TypeScript文件以创建JavaScript捆绑包。webpack:一个模块绑定器,它能够转换、捆绑或打包任何资源或资产。webpackcli:一个模块,它为开发人员提供一组灵活的命令,以便在设置自定义webpack项目时提高速度。webpack节点外部:一个容易排除的模块节点.js来自Web包捆绑包的模块。安装这些软件包后,创建一个webpack.config.ts项目目录下的文件:触摸webpack.config.ts填充webpack.config.ts具体如下:const webpack=需要("webpack");const path=require("path");const nodeExternals=require("webpack node externals");模块.导出= {条目:网页包/热点/投票?100","/src/索引.ts"],观察:没错,target:"节点",外部:[无外部({白名单:webpack/hot/poll?100"]})],模块:{规则:[{测试:/.tsx?$/,用法:"ts loader",排除:/node_模块/}]},模式:"开发",解决:{扩展名:.tsx",.ts",".js"]},插件:[新的webpack.HotModuleReplacementPlugin()],输出:{路径:路径.连接(\u dirname,"dist"),文件名:"索引.js"}};在这个webpack配置文件中发生了很多事情,但是您需要了解以下高级任务:定义应用程序的入口文件的位置:./src/索引.ts.定义webpack编译源文件所需的加载程序:任何扩展名为.ts或.tsx的文件的ts加载程序。定义webpack存储已编译源文件的目录:项目目录下的dist目录。