当前位置: 首页 > Web前端 > HTML

使用TypeScript编写SAPUI5应用程序准备

时间:2023-03-29 12:07:06 HTML

新建文件夹ui5-ts,执行命令行npminit-y初始化:新建src文件夹,里面存放一个Component.ts文件,源码如下:从“sap/ui/core/UIComponent”导入UIComponent;/***@namespaceui5.typescript.helloworld*/exportdefaultclassComponentextendsUIComponent{publicmultiply(x:number,y:number):number{returnx*是;它是TypeScript代码,这意味着虽然它主要是纯JavaScript,但它还包含变量、参数和函数返回值的类型声明,如“multiply”方法的定义所示。我们很快就能看到TypeScript编译将如何去除这些东西。它是带有模块和类的“现代JavaScript”代码,将在构建过程的进一步步骤中转换为经典UI5代码。这实际上与TypeScript没有任何关系,但这是我们在需要构建步骤时编写现代UI5应用程序的推荐方式。如下图所示:安装相应的依赖:npminstall--save-devtypescript@types/openui5@1.97.0@types/jquery@3.5.1@types/qunit@2.5.4开发SAPUI5应用时(即使使用OpenUI5中不可用的控件库),也请使用@sapui5/ts-types-esm类型而不是@types/openui5类型。另一方面,@openui5/ts-types-esm中可用的类型,它们与@types/openui5有何不同?唯一的区别在于版本控制:@openui5命名空间中的类型与相应的OpenUI5版本完全同步,@types命名空间中的类型遵循DefinitiveTyped版本控制,并且每个OpenUI5次要版本仅发布一次。实际上,它不应该对我们的使用产生影响,但请注意通常只有..0补丁版本在@types命名空间中可用。SAPUI5类型在@types命名空间中不可用。我们安装特定版本以确保类型定义与使用的UI5代码和附带的jQuery版本相匹配。需要以相同的方式添加来自其他库的类型。npm安装成功完成:执行命令行:npxtscsrc/Component.ts遇到错误消息:node_modules/@types/openui5/sap.ui.core.d.ts:1890:13-错误TS2583:找不到名称“迭代器”.您需要更改目标库吗?尝试将“lib”编译器选项更改为“es2015”或更高版本。尝试执行这个命令:npminstall-D@types/node就可以成功执行tsc命令了。但这不是推荐的方式,这种方式生成的Component.js的内容是不正确的。正确的做法是新建一个tsconfig.json文件,并维护如下内容:真,“allowJs”:真,“严格”:真,“strictNullChecks”:假,“strictPropertyInitialization”:假,“rootDir”:“./src”,“outDir”:“./dist”,“baseUrl”:"./","paths":{"ui5/typescript/helloworld/*":["./src/*"]}},"include":["./src/**/*"]}和然后再次执行npxtsc命令,即可成功生成Component.js。更多杰瑞原创文章在这里:《王子熙》。