擴(kuò)展描述文件package.json

2019-04-02 10:51 更新

擴(kuò)展描述文件是一個擴(kuò)展必須提供的文件,用來描述一個擴(kuò)展的名稱、類型及其他關(guān)鍵信息的配置文件。喧喧的擴(kuò)展描述文件文件名為 package.json ,兼容 npm 包管理器中的 package.json 文件。一個最簡單的應(yīng)用擴(kuò)展僅需要在擴(kuò)展包中包含描述文件即可實現(xiàn)。以下為擴(kuò)展描述文件中支持的配置項目:

{     
    // 擴(kuò)展的名稱,擴(kuò)展名稱只能包含字母、數(shù)字、短橫線及下劃線,且第一個字符必須為字母     
    // 擴(kuò)展的名稱必須唯一,相同名稱的擴(kuò)展會提示覆蓋或升級,為避免與其他擴(kuò)展發(fā)生沖突,也可以使用 guid 做為擴(kuò)展名稱     
    "name": "simple-extension",      
    
    // 擴(kuò)展在界面上顯示的名稱     
    "displayName": "簡單擴(kuò)展", 
        
    // 擴(kuò)展的描述或介紹文本     
    "description": "這是一個簡單擴(kuò)展的例子。",     
    
    // 擴(kuò)展配置     
    "xext": {         
        // 擴(kuò)展類型,目前支持的類型包括:         
        //   * app    -  應(yīng)用擴(kuò)展         
        //   * plugin -  插件擴(kuò)展         
        //   * theme  -  主題擴(kuò)展         
        "type": "app",         
        
        // 擴(kuò)展圖標(biāo),可以使用如下值         
        //   * 使用 Material Design Icons (https://materialdesignicons.com/),使用 mdi- 前綴,例如 mdi-star         
        //   * 使用 http:// 或 https:// 協(xié)議開頭頁面地址,例如 http://zui.sexy/img/icon.png         
        //   * 使用相對擴(kuò)展包目錄的相對地址,例如 img/icon.png         
        // 需要注意:         
        //   * 當(dāng)擴(kuò)展類型為 app 時,如果不指定則會使用應(yīng)用圖標(biāo)(appIcon)         
        //   * 如果使用圖片作為擴(kuò)展圖標(biāo),確保作為圖標(biāo)的圖片長寬比例為1:1(正方形圖片),并且大小不小于 512x512         
        "icon": "mdi-star",         
        
        // 擴(kuò)展主要顏色,可能被用到自動生成的圖標(biāo)上或作為部分界面背景         
        "accentColor": "#aa00ff",    
             
        // 針對擴(kuò)展類型 app - 應(yīng)用界面類型         
        // 可選值包括:         
        //   * insideView:提供 React 組件作為界面視圖         
        //   * webView:完整的網(wǎng)頁視圖         
        "appType": "insideView",   
              
        // 當(dāng) appType 為 webView 時加載的頁面地址,可以包含以下格式的地址:         
        //   * 使用 http:// 或 https:// 協(xié)議開頭的網(wǎng)站頁面地址,例如 http://zui.sexy/m         
        //   * 使用相對擴(kuò)展包目錄的相對地址,通常指向一個 html 文件,例如 lib/page/index.html         
        "webViewUrl": "http://zui.sexy/m",  
               
        // 當(dāng) appType 為 webView 時,指定一個腳本在 webview 頁面中其他腳本執(zhí)行之前先加載,此腳本必須為擴(kuò)展包內(nèi)的 JavaScript 文 件。         
        "webViewPreloadScript": "lib/preload.js",   
              
        // 針對擴(kuò)展類型 app - 應(yīng)用圖標(biāo),可以使用如下值         
        //   * 使用 Material Design Icons (https://materialdesignicons.com/),使用 mdi- 前綴,例如 mdi-star         
        //   * 使用 http:// 或 https:// 協(xié)議開頭圖片地址,例如 http://zui.sexy/img/icon.png         
        //   * 使用相對擴(kuò)展包目錄的相對地址,例如 img/icon.png         
        // 需要注意:         
        //   * 如果不指定則會使用擴(kuò)展圖標(biāo)(icon)作為應(yīng)用圖標(biāo)         
        //   * 如果使用圖片作為應(yīng)用圖標(biāo),確保作為圖標(biāo)的圖片長寬比例為1:1(正方形),并且大小不小于 512x512         
        "appIcon": "mdi-star", 
                
        // 針對擴(kuò)展類型 app - 應(yīng)用配色,可能被用到圖標(biāo)上,如果不指定會使用擴(kuò)展的 accentColor         
        "appAccentColor": "#aa00ff",    
             
        // 針對擴(kuò)展類型 app - 界面背景色,可以設(shè)置為透明(transparent),默認(rèn)為白色 #fff         
        "appBackColor": "#fff",         
        
        // 針對擴(kuò)展類型 plugin 或 app - 模塊主要入口腳本文件位置,可以包含以下格式的地址:         
        //   * 使用相對擴(kuò)展包目錄的相對地址,例如 lib/index.js         
        // 當(dāng)擴(kuò)展類型為 plugin 時會自動從擴(kuò)展包目錄下尋找 index.js 文件作為模塊主入口文件         
        "main": "lib/index.js",     
           
        // 是否允許熱加載擴(kuò)展,默認(rèn)值為 false,如果設(shè)置為 true,則安裝擴(kuò)展后無需重啟才能使用,但 onUserLogin(用戶已經(jīng)登錄后,如果是重新登錄仍然會生效) 和 replaceViews 將不會立即生效(仍然需要在下次重啟時生效)         
        "hot": false,        
         
        // 針對擴(kuò)展類型 theme - 主題列表         
        // 通過一個對象數(shù)組,聲明多個主題配置         
        "themes": [             
            {                 
                // 主題內(nèi)部名稱                 
                "name": "dark",                 
                // 主題的描述文本,可能會在界面上顯示                 
                "description": "這是一個暗黑主題",                 
                // 主題顯示名稱                 
                "displayName": "暗色",                 
                // 主題 CSS 文件位置,可以是相對包的路徑或者一個可訪問的網(wǎng)址                 
                "style": "lib/themes/dark.css",                 
                // 主題的主要顏色                 
                "color": "#ff00f1",                 
                // 主題載入方式,可取值包括:                 
                //   * append   在默認(rèn)樣式的基礎(chǔ)上附加樣式                 
                //   * override 替代默認(rèn)樣式                 
                "inject": "override",                 
                // 主題的預(yù)覽圖片地址                 
                "preview": "lib/themes/preview-dark.png"             
            }         
        ],         
        // 為消息定義右鍵菜單項目         
        "chatMessageMenu": [             
            {                 
                "label": "保存消息文本到文件",                 
                "url": "!${EXTENSION}/saveText/?messageId=${messageId}"             
            }             
            // 更多右鍵菜單         
        ],    
             
        // 擴(kuò)展配置(1.3 中尚未實現(xiàn))         
        "configurations": [             
            {                 
                // 配置項名稱                 
                "name": "cfg1",   
                               
                // 配置項顯示名稱                 
                "displayName": "配置項一",     
                            
                // 配置項描述                 
                "description": "配置項一的說明",   
                              
                // 配置項默認(rèn)值                 
                "defaultValue": "默認(rèn)值",      
                           
                // 配置項值類型,可選值包括                 
                "valueType": "string",         
                        
                // 用于驗證配置值是否合法的正則表達(dá)式                 
                "matchReg": "[a-zA-Z0-9]+",              
            }         
        ]     
    },   
      
    // 擴(kuò)展的版本     
    "version": "1.0.0",    
     
    // 擴(kuò)展開發(fā)的作者     
    "author": "Catouse",  
       
    // 擴(kuò)展的發(fā)布者     
    "publisher": "易軟天創(chuàng)",   
      
    // 擴(kuò)展要求的運行環(huán)境     
    "engines": {     
        
        // 擴(kuò)展對喧喧版本的支持         
        "xuanxuan": "^1.3.0",
                 
        // 擴(kuò)展所支持的平臺         
        "platform": "electron,nwjs",
                 
        // 擴(kuò)展所依賴的其他擴(kuò)展         
        "extensions": [],     
    },     
    
    // 擴(kuò)展版權(quán)聲明     
    "license": "MIT",
         
    // 擴(kuò)展主頁     
    "homepage": "http://xuan.im/extensions",  
       
    // 擴(kuò)展關(guān)鍵字,可以用于搜索     
    "keywords": ["xuanxuan", "im", "extension", "sample"],
         
    // Bugs 反饋頁面     
    "bugs": {       
        "url": "https://github.com/easysoft/xuanxuan/issues"     
    }, 
        
    // 代碼庫地址     
    "repository": {         
        "url": "https://github.com/easysoft/xuanxuan/",         
        "type": "git"     
    },     
    
    // ...兼容其他 npm package.json 屬性 
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號