本文目录一览:
- 1、团队开发中,vue中有人用js,有人用ts,怎么合并代码?
- 2、怎么引用没有.d.ts声明文件的js库
- 3、TS和JS互相调用
- 4、egret怎么调用原生JS
- 5、如何在TypeScript中应用像Jquery之类的第三方JavaScript框架
- 6、ts和js有什么区别
团队开发中,vue中有人用js,有人用ts,怎么合并代码?
首先团队开发就要统一开发规范,当然ts要先编译成js才可以执行的,这样就都是js了,也不影响的
怎么引用没有.d.ts声明文件的js库
通常,在项目中引用js库分两种情况:
一种是通过npm install ${name} --save 安装在node_modules目录下,package.json中的dependencies会配置正式环境所依赖的库。
另外一种就是直接将.js文件放在src目录下,通过相对路径的方式直接引用。
对于第一种情况:
例如:weixin-js-sdk,在项目路径下,cnpm install weixin-js-sdk --save, 安装成功以后,查看package.json下的dependencies会增加一行weixin-js-sdk的版本信息。在使用的时候导入 import * as WeiXin from 'weixin-js-sdk';
对于第二种情况:
通过相对路径引用一个.js文件,那么需要在tsconfig.json中的compilerOptions中配置"allowJs": true,然后在使用的时候直接import,例如:import * as Swiper from './lib/swiper/swiper.min.js';
上面两种情况是在没有.d.ts声明文件的情况下
对于有些三方库,例如bootstrap,jquery等许多常用的都有声明文件,直接导入就可以,例如jquery:
1. cnpm install jquery --save 安装jquery依赖包到node_modules目录下
2. npm install @types/jquery --save-dev 安装类型描述文件到node_modules目录下,只安装到开发环境
3. 修改angular-cli.json文件,增加styles(引入css的路径)和scripts(引入js的路径) "scripts": ["../node_modules/jquery/dist/jquery.js"]
4. 修改tsconfig.app.json文件,添加到types数组 "types": ["jquery"],然后就可以使用$语法了
TS和JS互相调用
以下参考 TS和JS互相调用(不用什么静态方法)
以下参考 关于js 调用 ts 的问题,在线等
在index的script里面写js函数和变量
ts调用参数是就是 window["参数名"],函数是window["函数名"]
egret怎么调用原生JS
ts 调用 js
步骤
找到 js 调用 js 的方法。
增加方法调用的声明。 请参考 如何生成 .d.ts 。
示例
js 内的方法
function callJsFunc(msg) {
console.log("msg from egret : " + msg);
}
ts 内声明
declare function callJsFunc(msg:string);//可以放在 ts 文件内(建议在顶部或者底部,中间的没试过)或者单独放到一个 .d.ts 文件中,请不要放在其他类型的文件内。msg 类型根据函数体判断。
ts 内调用
callJsFunc("hello js");
输出
msg from egret : hello js
如何在TypeScript中应用像Jquery之类的第三方JavaScript框架
要在TypeScript引用第三方JavaScript库和框架,首先要了解TypeScript的类型定义文件。TypeScript的类型定义文件用来帮助开发者在TypeScript中使用已有的
javascript的工具包,如:jQuery。所有的类型定义文件都是以.d.ts结尾的。这个文件实际上就是一个TypeScript模块,它把你要使用的JavaScript工具包里边的工具
以TypeScript的类或者模块的方式暴露(export)出来,供你在你的模块里去import。
如何获得类型定义文件
以jquery为例:
1. 在github上有公开的项目DefinitelyTyped,里面有大多数会用到的类型定义文件,找到Jquery的类型定义文件index.d.ts下载下来拷贝进项目中,项目就可以用
jquery来写代码了,而且有代码提示。github地址:
2.还可以用typings工具,这个工具是用来专门安装类型定义文件的。
首先用npm来安装typings工具,安装后,就可以用typings命令查询一个项目、关键字或框架了,用typings命令把需要的第三方库或框架安装上就可以在项目中直接
使用了。
ts和js有什么区别
ts需要静态编译,它提供了强类型与更多面向对象的内容。
ts最终仍要编译为弱类型的js文件,基于对象的原生的js,再运行。故ts相较java/C#这样天生面向对象语言是有区别和局限的
ts是由微软牵头主导的,主要来自C#
TypeScript是一个应用程序级的JavaScript开发语言。(这也表示TypeScript比较牛逼,可以开发大型应用,或者说更适合开发大型应用)
TypeScript是JavaScript的超集,可以编译成纯JavaScript。这个和我们CSS离的Less或者Sass是很像的,
我们用更好的代码编写方式来进行编写,最后还是友好生成原生的JavaScript语言。
TypeScript跨浏览器、跨操作系统、跨主机、且开源。由于最后他编译成了JavaScript所以只要能运行JS的地方,都可以运行我们写的程序,设置在node.js里。
TypeScript始于JavaScript,终于JavaScript。遵循JavaScript的语法和语义
TypeScript可以重用JavaScript代码,调用流行的JavaScript库。
TypeScript提供了类、模块和接口,更易于构建组件和维护。