2017-05-03 6 views
1

Derzeit erfordern mit:Wie HTML-Dateien Webpack 2

  • "webpack": "^ 2.4.1"
  • "eckig": "^ 1.6.3"

jetzige Nutzung das gibt den Fehler, ich brauche einen geeigneten Lader:

var root = { 
    template: require('./root.html') 
}; 
{ 
    test: /\*.html$/, 
    use: 'raw-loader!html-minifier-loader', 
    exclude: /node_modules/ 
} 

Aber wenn ich eine der beiden folgenden tun lädt es fein:

var root = { 
    templateUrl: './root.html' 
}; 
var root = { 
    template: require('raw-loader!./root.html') 
}; 

Muss ich, um speziell den Lader in-line verwenden, wenn ich die HTML-Datei erforderlich sein soll? Ich dachte, das ist, was der Lader in Webpack-Konfiguration war, es sei denn, ich bin mir dieser Änderung für Webpack 2 nicht bewusst.

Antwort

1

Ihre test condition ist falsch. Es würde passen nur, wenn ein Dateiname buchstäblich eine * enthalten, zum Beispiel:

root*.html 
root*ahtml 
root*bhtml 

Sie wollen

/\.html$/ 

statt. Es ist ein regulärer Ausdruck, kein Glob-Muster.

+0

Ich habe das müde, nicht gibt es mir zwei verschiedene Fehler. kann die Datei (./ root.html) nicht finden, und Fehler: Kann 'raw-loader! html-minifier-loader' in keiner anderen Lösung auflösen? bitte und danke! – alphapilgrim

+0

Ich denke, die '!' Syntax [wird nicht mehr unterstützt] (https://webpack.js.org/configuration/module/#rule-use). Versuchen Sie 'use: ['raw-loader', 'html-minifier-loader']' stattdessen. Ich würde auch versuchen, zuerst 'row-loader' zu verwenden. –

+0

Boom! Das war's. die Regex, und die Array-Syntax ist, was es getan hat. Danke für die Hilfe! – alphapilgrim