Projektinitialisierungsvorlage
Wenn Sie Taro-CLI- taro init
Befehle zum Erstellen von Projekten verwenden, stellt die CLI den Entwicklern stets mehrere integrierte Vorlagen zur Auswahl zur Verfügung. Viele Teams haben jedoch ihre eigenen, einzigartigen Geschäftsszenarien und die Vorlagen, die verwendet und verwaltet werden müssen, sind nicht konsistent. Daher unterstützt Taro das Packen von Projektvorlagen in eine Funktion für Entwickler.
1.3.9
An der Vorlagenfunktionalität der CLI wurden folgende Änderungen vorgenommen:
default
In der CLI bleiben nur die grundlegendsten Vorlagen erhalten, andere Vorlagen werden entfernt.- Die CLI liest die Konfigurationselemente der Vorlagenquelle aus der globalen Konfiguration der CLI und ruft dann Vorlagen aus der Vorlagenquelle ab, damit Entwickler sie auswählen können.
- Entwickler können ihre eigenen Vorlagen verwenden , indem sie die Vorlagenquelle ändern.
Vorlagequelle
Die Vorlagenquelle ist das Feld templateSource des CLI-Konfigurationselements , das mit dem Befehl taro config bedient werden kann.
Standard- Vorlagenquelle
Die Standardvorlagenquelle ist das Taro-Project-Templates- Warehouse, und die ursprünglich integrierten Vorlagen werden hier extrahiert.
Konfigurieren Sie die Vorlagenquelle
Die Vorlagenquelle unterstützt zwei Formate: Git-Vorlagenquelle und URL-Vorlagenquelle .
Git- Vorlagenquelle
- GitHub – github:owner/name
- GitLab – gitlab:owner/name
- Direkt – direkt:URL
# 初始化项目时可以使用 --clone 选项指定拉取远程模板时使用git clone
taro init --clone
URL- Vorlagenquelle
Eine URL, die auf ein Zip-Paket verweist.
Schreiben Sie eine Vorlage
Vorlagenorganisationsformat
Die Vorlagenverzeichnisorganisation unterstützt zwei Typen: den Einzelvorlagenmodus und den Vorlagengruppenmodus .
package.json existiert im Stammverzeichnis des Warehouse.
Der Vorlagenname ist der Warehouse-Name.
zip- Paket
Das ZIP-Paket wird in einen einzelnen Ordner dekomprimiert und das Stammverzeichnis des Ordners enthält package.json.
Der Vorlagenname ist der aus dem ZIP-Paket extrahierte Ordnername.
Wie die Standardvorlagenquelle werden mehrere Vorlagen im Stammverzeichnis des Warehouse gespeichert.
Der Vorlagenname entspricht allen Ordnernamen im Stammverzeichnis.
zip- Paket
Das Zip-Paket wird in einen einzigen Ordner dekomprimiert, der mehrere Vorlagen enthält.
Der Vorlagenname entspricht allen Ordnernamen im Ordner.
statische Vorlage
Eine statische Vorlage bedeutet eine Vorlage ohne Logik, und die CLI durchläuft den gesamten Vorlagenordner und kopiert die Dateien einzeln an den Zielspeicherort.
Dynamische Vorlage
In vielen Fällen ist es erforderlich, der Vorlage Logik hinzuzufügen, um je nach Umgebung unterschiedliche Vorlageninhalte zu generieren.
Entwickler können die Datei template_creator.js im Stammverzeichnis der Vorlage hinzufügen und die Datei exportiert Objekte, die die Felder handler und basePageFiles enthalten:
template_creator.js
function createWhenTs (params) {
return params.typescript ? true : false
}
const handler = {
'/global.d.ts': createWhenTs,
'/tsconfig.json': createWhenTs,
'/src/pages/index/index.jsx' ({ pageName }) {
return { setPageName: `/src/pages/${pageName}/${pageName}.jsx` }
},
'/src/pages/index/index.css' ({ pageName}) {
return { setPageName: `/src/pages/${pageName}/${pageName}.css` }
}
}
const basePageFiles = [
'/src/pages/index/index.jsx',
'/src/pages/index/index.css'
]
module.exports = {
handler,
basePageFiles
}
Bitte verwenden Sie EJS als Vorlagensprache. Jede Vorlagendatei erhält globale Vorlagenparameter.
Standardmäßige globale Vorlagenparameter (Variablen, die direkt in der Vorlage verwendet werden können )
Variable | Typ | veranschaulichen |
---|---|---|
Projektname | Zeichenfolge | Artikelname |
Beschreibung | Zeichenfolge | Projektbeschreibung |
Ausführung | Zeichenfolge | Taro CLI-Version |
Datum | Zeichenfolge | Zeitstempel für die Vorlagenerstellung |
CSS | „none“ oder „sass“ oder „stylus“ oder „less“ | Stilvorverarbeitungstool |
cssExt | Zeichenfolge | Stildateisuffix |
Typoskript | Boolescher Wert | Ob TS verwendet werden soll |
Seitenname | Zeichenfolge | taro create Der Name der übergebenen Seite, der Standardwert ist „index“. |
Vorlage | Zeichenfolge | Vorlagenname |
index.js
<%if (typescript) {-%>
import Taro, { Component, Config } from '@tarojs/taro'
<%} else { -%>
import Taro, { Component } from '@tarojs/taro'
<%}-%>
import { View, Text } from '@tarojs/components'
import './<%= pageName %>.<%= cssExt %>'
Handler- Feld
Der Handler wird verwendet, um zu steuern, ob eine Datei generiert oder bestimmte Parameter an die Datei übergeben werden sollen.
Handler: Objekt
Attribute | Typ | Wert |
---|---|---|
Dateipfad | Funktion | Verarbeitungsfunktion |
Der Dateipfad beginnt mit „/“ und stellt das Stammverzeichnis des Vorlagenordners dar
Parameter: Objekt
Attribute | Typ | veranschaulichen |
---|---|---|
Projektname | Zeichenfolge | Artikelname |
Beschreibung | Zeichenfolge | Projektbeschreibung |
Ausführung | Zeichenfolge | Taro CLI-Version |
Datum | Zeichenfolge | Zeitstempel für die Vorlagenerstellung |
CSS | „none“ oder „sass“ oder „stylus“ oder „less“ | Stilvorverarbeitungstool |
Typoskript | Boolescher Wert | Ob TS verwendet werden soll |
Seitenname | Zeichenfolge | Seitenname |
Vorlage | Zeichenfolge | Vorlagenname |
templatePath | Zeichenfolge | Vorlagenpfad |
Projektpfad | Zeichenfolge | Zielpfad |
Zeitraum | „createApp“ oder „createPage“ | taro init Erstellen Sie ein Projekt oder taro create erstellen Sie eine Seite |
Rückgabe: Boolescher Wert/Objekt
Beschreibung des Rückgabewerts
Wert | veranschaulichen |
---|---|
WAHR | Erstellen Sie eine Datei |
FALSCH | Keine Datei erstellen |
Objekt | Erstellen Sie die Datei und die Felder des zurückgegebenen Objekts werden mit den globalen Vorlagenparametern zusammengeführt. |
Wenn der Rückgabewert ein Objekt ist, haben einige seiner Eigenschaften besondere Auswirkungen:
Attribute | Typ | veranschaulichen |
---|---|---|
setPageName | Zeichenfolge | ersetzt den Ausgabepfad der aktuellen Datei |
changeExt | Boolescher Wert | Ob das Dateisuffix automatisch ersetzt werden soll |
Wenn der Benutzer Typescript verwendet, werden die Dateien global.d.ts und tsconfig.json generiert.
template_creator.js
function createWhenTs (params) {
return params.typescript ? true : false
}
const handler = {
'/global.d.ts': createWhenTs,
'/tsconfig.json': createWhenTs
}
module.exports = { handler }
basePageFiles -Feld
basePageFiles weist die CLI an, taro create
die folgenden Dateien zu erstellen, wenn ein Benutzer mit dem Befehl eine Seite erstellt.
Kombinieren Sie das Handler-Feld, um eine neue Seite zu erstellen.
Wenn der Benutzer den Befehl verwendet taro create --page=detail
, werden zwei Dateien /src/pages/detail/detail.jsx und /src/pages/detail/detail.css erstellt.
template_creator.js
const handler = {
'/src/pages/index/index.jsx' ({ pageName }) {
return { setPageName: `/src/pages/${pageName}/${pageName}.jsx` }
},
'/src/pages/index/index.css' ({ pageName}) {
return { setPageName: `/src/pages/${pageName}/${pageName}.css` }
}
}
const basePageFiles = [
'/src/pages/index/index.jsx',
'/src/pages/index/index.css'
]
module.exports = {
handler,
basePageFiles
}