国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

在TypeScript項(xiàng)目中像PHP一樣使用魔術(shù)變量

?xiaoxiao, / 2894人閱讀

摘要:當(dāng)中有許多很有用的魔術(shù)變量比如之類但是中并沒(méi)有因此我寫了一個(gè)插件來(lái)使用它們?cè)创a已經(jīng)放到了上使用方法首先你需要安裝這個(gè)包修改一下你的在代碼中使用魔術(shù)變量比如用來(lái)編譯你的項(xiàng)目注意這里不能用因?yàn)闆](méi)有開放接口需要全局安裝一

PHP 當(dāng)中有許多很有用的魔術(shù)變量, 比如__CLASS__, __METHOD__之類. 但是typescript中并沒(méi)有. 因此我寫了一個(gè)插件typescript-magic-variable-plugin來(lái)使用它們, 源代碼已經(jīng)放到了GitHub上: https://github.com/acrazing/t....

使用方法

首先你需要安裝這個(gè)包: npm install -D typescript-magic-variable-plugin

修改一下你的tsconfig:

{
    "compilerOptions": {
        "plugins": [
            { "transform": "typescript-magic-variable-plugin" }
        ]
    },
    "include": [
        // ...
        "./node_modules/typescript/magic-variable-plugin/types/globals.d.ts"
    ]
}

在代碼中使用魔術(shù)變量, 比如:

export class Foo {
    constructor() {
        console.log(__CLASS__)
    }
}

ttypescript來(lái)編譯你的項(xiàng)目, 注意這里不能用typescript, 因?yàn)闆](méi)有開放transform接口, 需要全局安裝一下ttypescript: npm i -g ttypescript, 然后調(diào)用ttsc來(lái)編譯.

進(jìn)階

也可以在webpack中使用:

const { createMagicVariableTransformer } = require("typescript-magic-variable-plugin")
// ...
rules: [
    {
        test: /.tsx?$/,
        loader: "awesome-typescript-loader",
        options: {
            // ... other loader"s options
            getCustomTransformers: program => ({
                before: [
                   createMagicVariableTransformer(program, {})
                ]
            })
        }
    }
]

目前支持的變量:

name type description
__NAMESPACE__ string the full name of the current namespace, use . to join the parents
__CLASS__ string the class name of the declaring class
__METHOD__ string the method name of the declaring method
__FUNCTION__ string the function name of the declaring function
__DIR__ string the current directory of the code
__FILE__ string the current file full name of the code
__LINE__ number the current line number

可以自動(dòng)給React的組件添加displayName屬性, 默認(rèn)開啟, 比如:

export class Foo extends Component {}

會(huì)自動(dòng)給Foo增加靜態(tài)屬性: Foo.displayName = "Foo"

配置:

interface Options {
    addDisplayName: boolean; // 是否給react組件添加displayName屬性, 默認(rèn)開啟
    rootDir: string; // __DIR__的相對(duì)路徑, 默認(rèn)為tscofnig.json中的rootDir或者當(dāng)前文件夾
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108465.html

相關(guān)文章

  • php超全局變量魔術(shù)常量,魔術(shù)方法

    摘要:注意和是不同的變量,處理它們的方式不同變量說(shuō)明默認(rèn)情況下包含了,和的數(shù)組。包含相同的信息,但它不是一個(gè)超全局變量。這些特殊的常量不區(qū)分大小寫,如下幾個(gè)的魔術(shù)常量名稱說(shuō)明文件中的當(dāng)前行號(hào)。 整理了下關(guān)于php的基礎(chǔ)知識(shí),參考了些資料,如下: 超全局變量 超全局變量 — 超全局變量是在全部作用域中始終可用的內(nèi)置變量: $GLOBALS $GLOBALS — 引用全局作用域中可用的全部變量 ...

    mj 評(píng)論0 收藏0
  • php易錯(cuò)筆記-類與對(duì)象,命名空間

    摘要:類與對(duì)象基本概念如果在之后跟著的是一個(gè)包含有類名的字符串,則該類的一個(gè)實(shí)例被創(chuàng)建。如果該類屬于一個(gè)名字空間,則必須使用其完整名稱。如果一個(gè)類被聲明為,則不能被繼承。命名空間通過(guò)關(guān)鍵字來(lái)聲明。 類與對(duì)象 基本概念 new:如果在 new 之后跟著的是一個(gè)包含有類名的字符串,則該類的一個(gè)實(shí)例被創(chuàng)建。如果該類屬于一個(gè)名字空間,則必須使用其完整名稱。 Example #3 創(chuàng)建一個(gè)實(shí)例 ...

    MartinHan 評(píng)論0 收藏0
  • PHP - 魔術(shù)常量、魔術(shù)方法

    摘要:魔術(shù)方法構(gòu)造函數(shù)允行開發(fā)者在一個(gè)類中定義一個(gè)方法作為構(gòu)造函數(shù)。如果子類沒(méi)有定義構(gòu)造函數(shù)則會(huì)如同一個(gè)普通的類方法一樣從父類繼承假如沒(méi)有被定義為的話。和函數(shù)會(huì)檢查類中是否存在一個(gè)魔術(shù)方法。魔術(shù)常量魔法方法 PHP - 魔術(shù)常量 __LINE__ 文件中的當(dāng)前行號(hào) __FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。 __DIR__ 文件所在的目錄。如果用在...

    qpal 評(píng)論0 收藏0
  • PHP面試常考內(nèi)容之面向?qū)ο螅?)

    摘要:繼上一篇面試常考內(nèi)容之面向?qū)ο蟀l(fā)表后,今天更新,需要的可以直接點(diǎn)擊文字進(jìn)行跳轉(zhuǎn)獲取。析構(gòu)函數(shù),當(dāng)對(duì)象被銷毀時(shí)調(diào)用。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優(yōu)質(zhì)的PHP面試內(nèi)容。繼上一篇PHP面試常考內(nèi)容之面向?qū)ο螅?)發(fā)表后,今天更新(2),需要(1)的可以直接點(diǎn)擊文字進(jìn)行跳轉(zhuǎn)獲取。整個(gè)面向?qū)ο笪恼碌慕Y(jié)構(gòu)涉及的內(nèi)容模塊有: 一、面向?qū)ο笈c面向過(guò)程有什么區(qū)別?二、面向?qū)?..

    Barry_Ng 評(píng)論0 收藏0
  • PHP_OOP

    摘要:特殊在,方法被對(duì)象調(diào)用執(zhí)行時(shí),會(huì)自動(dòng)確定是那個(gè)對(duì)象調(diào)用的該方法,會(huì)使用該對(duì)象為方法內(nèi)的賦值構(gòu)造析構(gòu)類,沒(méi)有作用域,作用域,只是講,函數(shù)內(nèi)和函數(shù)外。析構(gòu)在對(duì)象消失對(duì)象被銷毀時(shí),也會(huì)自動(dòng)執(zhí)行一個(gè)方法,稱之為析構(gòu)方法。 相關(guān)定義 對(duì)象(object):現(xiàn)實(shí)生活中的實(shí)體,在編程語(yǔ)言中的體現(xiàn)。實(shí)體都有屬性和功能。一組數(shù)據(jù),和操作管理這些數(shù)據(jù)的操作,定義在一起就形成了一個(gè)實(shí)體,稱之為對(duì)象。(屬性和...

    RiverLi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<