WXML-Loader für Webpack
Bitte beachten Sie, dass es sich bei dieser WXML um eine Auszeichnungssprache für Wechat-Miniprogramme handelt
yarn add -D wxml-loader
Möglicherweise müssen Sie zum Extrahieren von Dateien auch den File-Loader verwenden.
{
test : / .wxml$ / ,
include : / src / ,
use : [
{
loader : 'file-loader' ,
options : {
name : '[name].[ext]' ,
useRelativePath : true ,
context : resolve ( 'src' ) ,
} ,
} ,
{
loader : 'wxml-loader' ,
options : {
root : resolve ( 'src' ) ,
enforceRelativePath : true ,
} ,
} ,
] ,
}
root
(String): Root-Pfad für benötigte QuellenenforceRelativePath
(Boolescher Wert): Sollte wahr sein, wenn Sie für jede Datei eine relative root
-URL generieren möchten. Es wird empfohlen, den Wert auf true
zu setzenpublicPath
(String): Standardmäßig Webpack-Ausgabe.publicPathtransformContent(content, resource)
(Funktion): Inhalt transformieren, sollte eine Inhaltszeichenfolge zurückgebentransformUrl(url, resource)
(Funktion): URL transformieren, sollte eine URL zurückgebenminimize
(Boolean): Minimieren. Der Standardwert ist false
Derzeit konnte wxml-loader
den dynamischen Pfad nicht auflösen, z. B. <image src="./images/{{icon}}.png" />
. Bitte verwenden Sie copy-webapck-plugin
um diese Ressourcen manuell in das Verzeichnis dist zu kopieren. Weitere Informationen finden Sie unter Nr. 1 (Chinesisch).
Dieser Loader ist auch mit Alipay Mini-Programmen kompatibel. Sie müssen nur sicherstellen, dass Sie test: /.axml$/
anstelle von test: /.wxml$/
in der Webpack-Konfiguration verwenden.
Wenn Sie wxapp-webpack-plugin verwenden und Targets.Alipay
als Webpack-Ziel festlegen, werden standardmäßig automatisch die Optionen transformContent()
und transformUrl()
festgelegt. Die Funktion transformContent()
wandelt das Attribut wx:attr
in a:attr
. und die Funktion transformUrl()
wandelt die Erweiterung .wxml
automatisch in .axml
um. Das bedeutet, dass Sie einmal Miniprogramme schreiben und sowohl Wechat- als auch Alipay-Miniprogramme erstellen können.
webpack.config.babel.js
import WXAppWebpackPlugin , { Targets } from "wxapp-webpack-plugin" ;
export default env => ( {
// ...other
target : Targets [ env . target || "Wechat" ] ,
module : {
rules : [
// ...other,
{
test : / .wxml$ / ,
use : [
{
loader : "file-loader" ,
options : {
name : `[name]. ${ env . target === "Alipay" ? "axml" : "wxml" } `
useRelativePath : true ,
context : resolve ( 'src' ) ,
} ,
} ,
{
loader : 'wxml-loader' ,
options : {
root : resolve ( 'src' ) ,
enforceRelativePath : true ,
} ,
} ,
]
}
]
} ,
plugin : [
// ...other
new WXAppWebpackPlugin ( )
]
} ) ;
Für eine vollständige Gilde, die webpack
zur Entwicklung WeiXin App
verwendet, schauen Sie sich bitte mein wxapp-boilerplate-Repo an.
MIT