当前位置: 首页 > news >正文

网站建设用模板域名批量注册查询

网站建设用模板,域名批量注册查询,网站快速建设入门教程,天津企业网站设计报价koa ts kick off 使用ts开发koa项目的基本架子#xff0c;便于平时随手调研一些技术 项目结构 ├── src │ ├── controller //controller层 │ ├── service //service层 │ ├── routes.ts //路由 │ └── index.ts //项目入…koa ts kick off 使用ts开发koa项目的基本架子便于平时随手调研一些技术 项目结构 ├── src │ ├── controller //controller层 │ ├── service //service层 │ ├── routes.ts //路由 │ └── index.ts //项目入口index.js ├── ecosystem.config.js //pm2配置 ├── nodemon.json //nodemon配置 ├── package.json └── tsconfig.json // ts配置文件 项目构建步骤 初始化项目 npm init按需输入信息或者一直回车即可信息可以后面再package.json中补充 安装typescript相关依赖 npm i ts-node typescript --save-devts-node 可以在node中使用tstypescript ts的包 配置tsconfig 先初始化ts配置文件执行下面命令 npx tsc --init执行完上述命令后生成tsconfig.json配置文件。 该项目将tsconfig配置为下面内容 {include: [./src], // 指定需要编译文件 否则默认当前目录下除了exclude之外的所有.ts, .d.ts,.tsx 文件compilerOptions: {module: commonjs, // 指定生成哪个模块系统代码declaration: false,removeComments: true,emitDecoratorMetadata: true,experimentalDecorators: true,target: es6,sourceMap: false, // 用于debug outDir: ./dist, //重定向输出目录baseUrl: ./},exclude: [node_modules] // 不编译某些文件 }有关ts的详细内容推荐 ts学习好资料 关于tsconfig的完整参数文档 中文文档 英文文档 安装koa等基础功能包 npm i koa koa-router koa-body koa-parameter koa-static types/nodekoakoa功能包koa-routerkoa路由koa-body 解析post等请求中body参数koa-parameter: 校验请求中的基本参数koa-static: 静态文件服务types/node: 包含node包中大部分的定义 项目基本内容 安装项目结构分别建立各自文件夹这里使用一个controller 和一个service 入口文件 src/index.ts import * as Koa from koa; import * as path from path; import * as koaStatic from koa-static; import { koaBody } from koa-body; import * as parameter from koa-parameter; import globalExceptionHandler from ./middleware/exceptions; import router from ./router;// koa应用 const app new Koa(); // 注册中间件 // 全局捕获错误 app.use(globalExceptionHandler); // 静态文件服务 public 文件夹下文件可对外访问 app.use(koaStatic(path.join(__dirname, public))); // 解析body 参数 app.use(koaBody()); // 验证入参 app.use(parameter(app)); // 注册路由 app.use(router.routes()); // 如果请求了不被允许的方法 比如说只实现了 get 这时候请求了post 就会告诉客户端一些信息 app.use(router.allowedMethods()); app.listen(3009, () console.log(程序已经在3009端口启动));路由 src/router中内容用于应用中的路由注册 import * as Router from koa-router; import HelloController from ./controller/hello;const router new Router(); router.get(/hello, HelloController.hello); router.post(/sayHey, HelloController.sayHey);export default router;中间件 src/middleware/exceptions.ts 中间件用于全局兜底使用捕获异常 // global exception handler const globalExceptionHandler async (ctx, next) {try {await next();} catch (error) {ctx.body {errMsg: error.message,state: false};ctx.status 200; // http 响应码} };export default globalExceptionHandler;controller层 src/controller/hello.ts 一个简单的controller层 import HelloService from ../service//hello; class HelloController {private service: HelloService new HelloService();hello async ctx {const params ctx.request.query;console.log(接受到的参数为, name${params.name});ctx.body await this.service.hello();};sayHey async ctx {const params ctx.request.body;ctx.verifyParams({// 登录信息loginUrl: { type: string, required: true },});ctx.body 接受到的数据, name:${params.name} age: ${params.age};};} export default new HelloController(); service层 src/service/hello.ts 一个简单的service层 export default class HelloService {hello () {return hello koa ts world ~;}; }配置eslint 现在一般使用eslint来校验ts即可无需再使用tslint。两者基本重复tslint也不再维护了推荐使用eslint即可 安装eslint npm i eslint --save-dev初始化eslint配置文件 npx eslint --init执行上面命令后会有一些列的交互式问题按需选择即可。会自动下载对应的npm包并在本地生成.eslintrc.json配置文件 安装一个解析器一个将 TypeScript 转换为与 ESTree 兼容的形式的解析器 npm i typescript-eslint/parser配置.eslintrc.json 这里将其配置为如下内容 {root: true,parser: typescript-eslint/parser,plugins: [typescript-eslint],extends: [eslint:recommended,plugin:typescript-eslint/eslint-recommended,plugin:typescript-eslint/recommended],rules: { semi: [2, always],no-console: 1 // 如果有console会抛出错误} }eslintignore.json touch .eslintignore忽略不需要eslint校验的文件配置内容如下: node_modules dist ecosystem.config.jsnodemon 一个很不错的工具包可以监听本地文件服务的变化自动重启服务代替node命令 安装 npm i nodemon --save-dev配置文件 在根目录下新建nodemon.json文件修改内容如下 {watch: [src], // 监听src文件夹ext: ts, // 监听ts文件exec: ts-node src/index.ts, // 变化之后执行该命令ignore: [./src/public] // 忽略那些命令 }上述配置是监听src文件夹中 配置script脚本 在package.json文件中新增一个dev命令表开发时使用 dev: nodemon,当执行 npm run dev / yarn dev 时会根据nodemon.json配置文件执行命令 pm2 在生产环境使用pm2来守护应用进程 安装 npm i pm2 --save-dev配置文件 npx pm2 init执行上述命令生成pm2配置文件ecosystem.config.js, 将其修改为如下内容: // pm2 配置文件可运行 pm2 init生成该配置文件 const { name } require(./package.json); const path require(path);module.exports {apps: [// 数组中每一项都是运行在pm2中的一个应用{// pm2中应用程序的名称name,// 应用的入口文件script: path.resolve(__dirname, ./dist/index.js),// 该应用创建的实例可以根据服务器的cpu数量来设置实例以充分利用机器性能.仅在cluster模式有效默认为fork// instances: require(os).cpus().length,instances: 1,// 发生异常的情况下自动重启autorestart: true,// 是否启用监控模式默认是false。如果设置成true当应用程序变动时pm2会自动重载。这里也可以设置你要监控的文件watch: true,env_production: {NODE_ENV: production,PORT: 8080},}] };配置script命令 在package.json中我们配置如下脚本 scripts: {dev: nodemon, // 开发调式时使用dev:dist: nodemon dist/index.js, // 调试构建出的dist包build: rm -rf dist tsc, // 构建生产包cp: cp -r src/public dist/public, // tsc 只会讲src中ts文件编译成js到dist中public静态资源文件单独cp过去start: npm run build npm run cp npx pm2 start ecosystem.config.js --env production, // 生产环境运行restart: npx pm2 restart ecosystem.config.js --env production, //生产环境重启stop: npx pm2 stop ecosystem.config.js, // 停止生产环境应用进程delete: npx pm2 delete ecosystem.config.js, // 删除生产环境应用进程lint: eslint . --ext .ts, // eslint校验项目代码规范lint:fix: eslint . --ext .ts --fix, // eslint校验 修复项目代码规范test: echo \Error: no test specified\ exit 1},.gitignore 配置提交git时忽略的文件 node_modules dist运行 // 安装依赖 npm i// 开发调式 npm run dev// 生产 npm run start项目地址 github地址
http://www.hkea.cn/news/14360729/

相关文章:

  • 大石桥城乡规划建设局网站网站优化 英文
  • 宁波网站制作相信荣胜网络分分钟制作一个h5页面
  • 微信平台与微网站开发便宜网站开发培训
  • 招聘类网站建设北京哪家公司做网站
  • asp网站安全如何做品牌营销推广方案怎么做
  • 南昌做网站公司南通网站建设公司哪个好
  • 越秀金融大厦北塔昆明seo关键词
  • 西南城乡建设部网站首页黄石规划建设局网站
  • 深圳安嘉建设有限公司网站抖音推广怎么收费
  • 微信电影网站怎么做手机设计图制作软件app免费
  • 校园网站建设er模型手机网站模板免费模板
  • 云服务器如何搭建深圳网站优化咨询
  • 电子商务网站后台模板门户网站 备案
  • 去哪里找做网站的人江苏省住房和城乡建设局网站首页
  • 化妆品网站建设实施方案益阳营销型网站建设
  • 网站建设 php jsp .net网站无法导入照片
  • 专业网站开发多少钱请公司建网站
  • 源码网站跟自己做的网站区别前端响应式布局
  • 做购物网站安全吗沈阳大型网站建设
  • 网上超市网站的设计与实现建设银行网站打印账单
  • 免费字体下载网站滨州网站建设求职简历
  • 绍兴酒店网站建设建设工程抗震应当坚持的原则有
  • 学校网站定位国产最好的a级suv88814
  • 网站设置不发送消息怎么设置回来dedecms 网站重复文章
  • 徐州建设公司网站建设网站花多少钱
  • 网站建设栏目分级网站建设与管理就业岗位
  • 不用dw怎么做网站新手做网站
  • 泰安网站建设如何网上找工程平台有哪些
  • 驾校网站制作网站建设亿码酷出名5
  • 软件开发项目总结报告seo优化方案设计