首页 > 從 Babel 遷移到 Typescript

從 Babel 遷移到 Typescript

以下這段 ES7 代碼,透過 babel a.ts -d . --optional runtime 之後,
產出的 a.js,可以簡單地再透過 node a.js 得到正確的運行結果。

// a.ts
import fetch from 'node-fetch'

!async function(){
  let HTMLString = await fetch('http://www.google.com.tw').then(response => response.text())
  console.log(HTMLString)
}()

但,當我想使用 typescript 1.5 作同樣的事情時,卻不知如何完成。

因為它會提示:cannot find module 'node-fetch'

// tsconfig.json
{
  "compileOnSave": false,
  "compilerOptions": {
    "target": "es5",
    "module": "cmd"
  }
}

請問我漏了什麼了嗎?


Babel 会把代码翻译成 ES5 的 js,但是 TypeScript 不会。

如果你在 TypeScript 中使用了 6 的特性,它会直接翻译成 ES6 的 js。

如果指定了 --target es5,它 TypeScript 就不支持 6 的特性(但支持 TypeScript 的特性,比如类等)


npm install typescript@next

然后tsconfig中,target设置es6,module设置commonjs

【热门文章】
【热门文章】