原文地址:https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/node
今天,咱們發佈了 TypeScript 1.8 Beta,伴隨着 1.8 版本帶來了大量的變化。歡迎使用並反饋給咱們:send us your feedback. 能夠從 Visual Studio 2015, NuGet (Compiler 和 MSBuild task), npm, 或者直接從 source 來獲取它.react
對於 NPM 用戶,請使用下面的命令來獲取。webpack
> npm install -g typescript@beta
在 VS Code 中,能夠下載上面的包,而後使用下面的提示更新 .vscode/settings.json 文件。git
"typescript.tsdk": "/some/path/to/node_modules/typescript/lib"
在 TypeScript 1.8,TypeScript 編譯器能夠與 TypeScript 文件一塊兒使用 JavaScript 文件。啓用這個特性,僅僅須要添加一個編譯選項 --allowJs ,或者在 tsconfig.json 配置文件的 compilerOptions 配置節中添加 「allowJS」: true。這是一個很是棒的特性:github
對於大的項目來講,從 JavaScript 項目轉換到 TypeScript 項目意味着風險。對於具體的項目來講,簡單地將全部的 .js 文件轉換爲 .ts 文件會致使大量的編譯錯誤。使得轉換過程很不友好。如今,經過容許 TypeScript 編譯合併編譯 JavaScript 代碼,就能夠一次一個文件地轉換,可是仍然容許編譯整個項目。這就使得開發者能夠徹底掌控轉換過程。web
爲了在 TypeScript 項目中使用現有的 JavaScript 庫,開發者不得不使用類型定義 (.d.ts ) 文件,以便 TypeScript 編譯器在編譯的時候知道你在作什麼,而在運行時,是 JavaScript 引擎知道你在作什麼。直到你須要打包你的外部腳本庫,都沒有問題。到打包這一步,開發者須要第三方的打包器,例如 webpack 或者 browserify 等等。使用 TypeScript 1.8,你只須要簡單地在項目中包含第三方的 JavaScript 庫,編譯器將會處理它,包括 Source Map!typescript
使用 JavaScript in TypeScript 編譯,TypeScript 編譯器可使用一樣的方式來處理 JavaScript 文件。這包括 ES3/ES5,不一樣類型的模塊定義,以及打包。例如,對於使用 TypeScript 編譯器進行 ES6 到 ES5 降級轉換,你只須要使用下面的命令:npm
> tsc --allowJs --outDir out target_file.js
通過大量的討論,TypeScript 1.8 帶來了一些關鍵的改進來擴展 TSX/JSX 的支持。json
伴隨 React ,JSX 語法已經不單單用於 React。JSX 工廠容許重寫默認的 React 工廠。伴隨 --jsx react 使用新的編譯標誌 --reactNamespace <factory_name> ,TSX 的做者如今能夠控制工廠的名稱。windows
在 React 0.14 中,無狀態的功能組件是一個新概念,已經被大量採用。從 TypeScript 1.8 開始,咱們在 TSX 文件中支持無狀態的功能組件。
interface GreeterProps { name: string; } class Greeter extends React.Component<GreeterProps, {}> { render() { return <div>Hello, {this.props.name}</div>; } } //stateless functional component SimpleGreeter let SimpleGreeter = ({name = ‘world‘}) => <div>Hello, {name}</div>;
伴隨着 Visual Studio 中的 TypeScript 1.8 更新,JSX 如今能夠得到代碼分類和着色的改進。
長期以來,咱們的一些用戶要求提供官方的 TypeScript Nuget 包,從 1.8 Beta 開始,每一個版本咱們將會經過 Nuget 分發 TypeScript 編譯器和 MSBuild 任務,包的連接以下:
另外,咱們還會在 MyGet 提供TypeScript 的每日構建。雖然不提供 build, 可是你能夠方便獲取,讓咱們知道你的想法。你可在這裏找到 build:here.
咱們一直在努力提升 TypeScript 編譯器的性能,在 Chakra Core 發佈幾周以後,咱們對它進行了測試。下面是每一個編譯引擎對不一樣尺寸的代碼進行編譯的圖表。咱們發現 Chakra Core 有着重要的改進。對比上一個版本有 5-20% 的改進,對於 Node 有 10-50% 提升,基於上述緣由,咱們將在適當的時機切換到 ChakraCore.
TypeScript 1.8 還包括許多特性,包括:F-Bounded polymorphism,字符串字面類型等等。若是你但願深刻了解這些新特性,請查閱:what’s new page. 並且,咱們一直鼓勵瀏覽現有的問題,提交請求,或者直接到 gitter 與咱們交流。