本文目錄一覽:
- 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提供了類、模塊和介面,更易於構建組件和維護。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/304984.html