Framework7 套件結構

套件

Framework7 核心函式庫套件包含下列輸出

framework7/
    components/
        accordion/
            accordion-ios.less
            accordion-md.less
            accordion-rtl.css
            accordion-vars.less
            accordion.css
            accordion.d.ts
            accordion.js
            accordion.less
        ...
    less/
    modules/
    framework7-bundle-rtl.css
    framework7-bundle-rtl.min.css
    framework7-bundle.css
    framework7-bundle.esm.js
    framework7-bundle.js
    framework7-bundle.less
    framework7-bundle.min.css
    framework7-bundle.min.js
    framework7-lite-bundle.esm.js
    framework7-lite.esm.js
    framework7-rtl.css
    framework7-rtl.min.css
    framework7-types.d.ts
    framework7.css
    framework7.d.ts
    framework7.esm.js
    framework7.js
    framework7.less
    framework7.min.css
    framework7.min.js

精簡版

Framework7「精簡版」(附檔名為 -lite 的檔案) 沒有 Framework7 元件 (路由器元件) 功能,也沒有量表、圓餅圖和折線圖元件的核心 API。其設計是與 Framework7-Vue/React/Svelte 函式庫搭配使用,您可以在其中使用 Vue/React/Svelte 元件。

精簡版僅適用於 ESM 匯入。

樣式

Framework7 主要樣式位於根目錄資料夾中

腳本 (UMD)

在根目錄資料夾中,有所謂的 UMD JavaScript 檔案,其設計用於直接在瀏覽器中使用 (例如,使用 <script src="...">)

精簡版不適用於 UMD 格式。

元件

所有元件都位於 components/ 資料夾中,並且需要與核心 (而非套件) 版本搭配使用。您可以在 延遲載入模組 區段中深入了解如何使用它們。

ES 模組

此功能目前可以在 Vite、Webpack 和 Rollup 等套件管理器中使用

Framework7 也可以匯入為 ES-next 模組

import Framework7 from 'framework7';

Framework7 具有模組化結構,而且 預設僅輸出具備核心元件的 Framework7 核心

如果您需要其他元件,必須另外包含這些元件

// Import core framework
import Framework7 from 'framework7';

// Import additional components
import Searchbar from 'framework7/components/searchbar/';
import Calendar from 'framework7/components/calendar/';
import Popup from 'framework7/components/popup/';

// Import components styles
import 'framework7/components/searchbar/css';
import 'framework7/components/calendar/css';
import 'framework7/components/popup/css';

// Install F7 Components using .use() method on class:
Framework7.use([Searchbar, Calendar, Popup]);

// Init app
var app = new Framework7({/*...*/});

此類模組化結構可提供最佳的樹狀搖晃結果,並最佳化套件大小。

除了 default 輸出之外,它還具有 Dom7getDevicecreateStoreutilsgetSupport 輔助工具的命名輸出

import Framework7, { getDevice } from 'framework7';

var app = new Framework7({/*...*/});

var device = getDevice();

「精簡版」模組也可用

import Framework7 from 'framework7/lite';

ES 模組套件

如果您需要包含 Framework7 以及其所有元件,我們可以包含其另一個已安裝所有元件的腳本套件

// Import framework with all components
import Framework7 from 'framework7/bundle';

// Init app
var app = new Framework7({/*...*/});

「精簡版」套件模組也可用

import Framework7 from 'framework7/lite-bundle';

ES 模組匯出

Framework Core 套件是一個純 ESM 套件,它在 package.json 中有以下 exports 欄位

{
  "exports": {
    ".": "./framework7.esm.js",
    "./core": "./framework7.esm.js",
    "./bundle": "./framework7-bundle.esm.js",
    "./lite": "./framework7-lite.esm.js",
    "./lite/bundle": "./framework7-lite-bundle.esm.js",
    "./lite-bundle": "./framework7-lite-bundle.esm.js",
    "./less": "./framework7.less",
    "./css": "./framework7.css",
    "./css/rtl": "./framework7-rtl.css",
    "./css/bundle": "./framework7-bundle.css",
    "./css/bundle/rtl": "./framework7-bundle-rtl.css",
    "./types": "./framework7-types.d.ts",
    "./components/dialog": "./components/dialog/dialog.js",
    "./components/dialog/less": "./components/dialog/dialog.less",
    "./components/dialog/css": "./components/dialog/dialog.css",
    "./components/dialog/css/rtl": "./components/dialog/dialog-rtl.css",
    ...
  }
}