關(guān)于TypeScript中import JSON的正確姿勢詳解
前言
Typescript是微軟內(nèi)部出品的,用actionscript的語法在寫js的一門新語言,最近 TypeScript 中毒,想想我一個(gè)弱類型出身的人,怎么就喜歡上了類型約束……當(dāng)然這不是重點(diǎn),重點(diǎn)可能還是 JS 沒有接口,我沒法靠 class 語法糖寫的非常 OO……下面這篇文章想說的其實(shí)是在 ts 中如何正確的 import json 格式。
首先我使用了基本姿勢
import * as variable from './fooooooo.json'
結(jié)果發(fā)現(xiàn)他提示我并沒有這個(gè) module(Cannot find module),咋回事呀大佬,明明 JavaScript 中我可以正常使用。
查了一下,找到了一個(gè)方法:
命名一個(gè) typings.d.ts:
declare module "*.json" { const value: any; export default value; }
接下來理論上你就可以愉快的使用了,比如
import * as variable from './fooooooo.json' const data = (variable as any).data
當(dāng)然在使用中由于我不小心寫錯(cuò)了 config 文件的文件名所以沒有生效于是……我又去找了別的方法。
比如可以使用 @types/node
加上 require 引入,如果你的服務(wù)中禁用 any,這也是一個(gè)比較好的方法。
甚至你可以手寫讀取文件,不過感覺上去還是比較智障……還是覺得前面兩種方法更優(yōu)雅一點(diǎn)
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
javascript實(shí)現(xiàn)加載xml文件的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)加載xml文件的方法,涉及JavaScript針對(duì)xml文件對(duì)象的相關(guān)加載與獲取操作實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11js實(shí)現(xiàn)無縫滾動(dòng)雙圖切換效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)無縫滾動(dòng)雙圖切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07javascript函數(shù)報(bào)Uncaught?ReferenceError:?XXX?is?not?define
本文主要介紹了javascript函數(shù)報(bào)Uncaught?ReferenceError:?XXX?is?not?defined,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Ext JS動(dòng)態(tài)加載JavaScript創(chuàng)建窗體的方法
這篇文章主要介紹了Ext JS動(dòng)態(tài)加載JavaScript創(chuàng)建窗體的方法 ,需要的朋友可以參考下2016-06-06JS使用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)的tab選項(xiàng)卡效果示例
這篇文章主要介紹了JS使用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)的tab選項(xiàng)卡效果,結(jié)合具體實(shí)例形式分析了js面向?qū)ο蠹夹g(shù)與tab選項(xiàng)卡功能的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02固定背景實(shí)現(xiàn)的背景滾動(dòng)特效示例分享
固定背景滾動(dòng)特效,使用background-attachment: fixed和導(dǎo)航菜單,頁面會(huì)非常平滑的滾動(dòng),感興趣的朋友可以參考下哈希望對(duì)你有所幫助2013-05-05