uni-app 里的#ifdef MP是什么意思?條件編譯


uni-app官方文檔傳送門:條件編譯(點我)

相信很多剛接觸uni-app的童鞋都不太喜歡先看完整官方文檔。總會碰到很多不懂的地方第一時間上網搜答案,就比如在uni-app模版看到的#ifdef MP,這是什么鬼?

對於學過C語言的童鞋並不陌生,因為這是條件編譯語句

為什么會出現在uni-app里呢?因為uni-app的特性—一份代碼,多平台運行。沒錯,就是一套代碼,可以在android ios 各個小程序和h5上運行,因此為了代碼簡潔性引入的條件編譯,

#ifdef #ifndef #endif(其實官網介紹的也很詳細)

標准的語法

// #ifdef %PLATFORM%
    %PLATFORM%為平台名稱
    這里的內容只會編譯在該平台
// #endif

可以看到其實以#ifdef開頭 #endif結尾,但是注意一下就會發現前面雙斜杠,這里是注釋標記

也就是說在各個代碼塊里的注釋不一樣,注釋標記就要切換掉,比如

js:  // #ifdef
tag標簽: <!--  #ifdef -->
css樣式: /*  #ifdef */

解釋一下語句是什么意思

#ifdef : if defined 僅在某個平台編譯

#ifndef : if not defined 在除里該平台的其他編譯

#endif : end if 結束條件編譯

%PLATFORM% 需要編譯的平台,上面的MP就是各個小程序的意思

uni-app支持的各個平台(官網說明

示例 如果只需要在微信小程序上編譯某段代碼的話

// #ifdef MP-WEIXIN
    我是那個代碼
// #endif


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM