koa2+typescript环境搭建

2020-11-27 23:08 nodejs 1151 0
koa2+typescript环境搭建1.安装koa2脚手架全局安装koa2脚手架npminstall-gkoa-generator2.使用脚手架创建项目koa2project后面的project表示项目的名称,我这里以koa2-ts项目名为命令koa2koa2-ts举例,创建完成,生成以下目录进入项目,安装依赖cdprojectnpminstall3.创建typescript环境整理文件夹项目,开始构建typescript环境1).重新整理文件新建src文件夹,将routes,bin目录移动至src目录下,作为ts编译的入口将app.js也移入到src目录将bin下的www文件重命名为www.js2).创建并配置tsconfig.json文件使用tsc-init,会在当前目录创建tsconfig.json文件,修改配置文件将compilerOptions里的allowJs解开注释设置为true将compilerOptions里的outDir解开注释设置为**./build**将compilerOptions里的rootDir解开注释设置为**./src**将compilerOptions里的esModuleInterop解开注释设置为true在compilerOptions同级增加exclude属性,设置值如下数组["node_modules","views","public","build"]去掉无用项,得到最终配置项{"compilerOptions":{"target":"es5","module":"commonjs","allowJs":true,"outDir":"./build","rootDir":"./src","strict":true,"esModuleInterop":true,"forceConsistentCasingInFileNames":true},"exclude":["node_modules","views","public","build"]}安装typescriptnpmitypescript-D3).修改package.json文件先安装项目启动所需依赖两个的文件:nodemon,concurrentlynpminodemonconcurrently-D增加对应的scripts脚本命令,设置完成后如下"scripts":{"dev:tsc":"tsc-w","dev:nodemon":"nodemonbuild/www","dev":"tsc&&concurrentlynpm:dev:*","start":"tsc&&nodebuild/www"}4).修改app.js文件内容引入path模块,修改静态文件以及模板文件目录letstaticPath=path.join(__dirname,'../public');//静态地址letviewsPath=path.join(__dirname,'../views');//模板地址app.use(require('koa-static')(staticPath))app.use(views(viewsPath,{extension:'pug'}))5).启动项目,默认端口是3000npmrundev启动开发环境,每次修改完成都会实时重启项目npmstart启动生产环境,只会启动一次项目浏览器访问http://localhost:3000/,成功启动项目4.typescript环境下编写接口在routes下创建tsRoutes.ts文件引入koa-router,现在可以使用import语法引入了,同时需要安装koa-router的类型定义文件npminstall@types/koa-router-DimportRouterfrom'koa-router'constrouter=newRouter();router.prefix('/tsRoutes')router.get('/',async(ctx)=>{ctx.body={data:[1,2,3]};})exportdefaultrouter在app.js引入该路由文件即可浏览器访问http://localhost:3000/tsRoutes,成功解析ts文件5.总结代码已上传GitHub,链接koa2+typescript环境搭建
暂无评论,我会出手
说点什么
登录用户可以修改和删除评论,可以收到回复的邮件提醒点击登录/注册
最多上传8张图片,仅支持jpg,png格式图片,单张大小5MB以内!
用户名: