Webpack einfach kompilieren eine Reihe von Mops-Vorlagen in HTML
Im erste Schritte mit webpack aber eine Sache kann ich nicht für das Leben von mir zu erarbeiten, ist wie man einen Ordner (mit der Möglichkeit der verschachtelten Ordner), voller .Mops Vorlagen, und einfach compilieren zu statischem html und setzen Sie Sie in die Ausgabe-Ordner, die Aufrechterhaltung einer verschachtelten Ordner-Struktur für jede Ausgabe-html-Datei wurde in der Quelle Ordner "Vorlagen"...
Möchte ich nicht haben, um manuell eingeben jedes einzelnen .Mops-Datei, und ich definitiv nicht wollen, webpack, um zu versuchen und zu analysieren .Möpse in JS und dann versuchen, zu verlangen/import jedes der imgs/fonts etc in der Mops-Dateien und beschweren sich dann darüber, ich bin nur nach einer grundlegenden, statischen 1:1 kompilieren, Mops-Datei, html-Datei aus. Warum ist es so schwer, das zu tun?
- es ist möglich, mit webpack, aber es ist einfacher zu verwenden
gulp
wenn Sie nicht hauptsächlich im Umgang mit js-Dateien - id lieber nicht hinzufügen schlucken und Ihre Abhängigkeiten in jedes Projekt als gut... Sie sagen, es ist möglich, mit webpack, könnten Sie das näher erläutern?
- zeigen Sie Ihre bestehenden webpack config. Sie können
function requireAll (r) { r.keys().forEach(r); } requireAll(require.context('./src', true, /\.pug$/));
zu verlangen, dass jedes .Mops-Dateien unter src-Ordner und konfigurierenfile-loader
zu tun, die Kopie - ich habe nicht zu verwenden, extrahieren von text plugin dort irgendwo?
- wie unterstützt extrahieren von text-plugin in Bezug auf Ihre Frage überhaupt?
- Heres eine Zusammenfassung meiner config: webpack config gist link
- ich möchte zum speichern von statischen html-Dateien aus jeder pug-Datei, ich dachte, das extrahieren von text-plugin war die Art und Weise, dies zu tun? genauso wie du den text extrahieren plugin zu speichern .css-Dateien aus dem sass-loader, dont, das Sie verwenden, extrahieren von text zu speichern .html-Dateien von Mops-loader?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
pug-html-loader
zu konvertieren .Mops zu .html-Datei. Verwendenfile-loader
kopieren Sie die Datei an die gewünschte Position. Verwenden Sie nichthtml-loader
wie Sie nicht wollen und dabei Ressourcen verwendet, die von der generierten Datei.Werden Sie am Ende so etwas wie dies in Ihrer loader Regeln (ungetestet, webpack 1 syntax ist, müssen Sie möglicherweise zu zwicken es für webpack 2)
Als Nächstes müssen Sie alle Ihre Mops-Dateien in Ihrer Eingabe-Datei
require.context('./pug/', true, /\.pug$/)
so seine sucht in den Mops-Ordner, aktuell wenn ich die Datei-loader mit dername=[path][name].html
query-parameter, die Vorlagen werden immer in einem Mops-Ordner in meinem build-directory. wenn zB eine bestimmte Quelle Mops Vorlage lebt in/pug/home/template.pug
ich am Ende mit/dist/pug/home/template.html
, aber ich möchte esdist/home/template.html
gibt es eine Möglichkeit zu kontrollieren, was [Pfad] wird die Ausgabe in die Datei-loader query-string?file-loader?name=[path][name].html&context=./pug
ist, müssen Sie möglicherweise ändern Sie den Kontext-parameter, damit es funktioniert(function(module, exports, __webpack_require__) { module.exports = __webpack_require__.p + "layouts/default.html"; /***/ })
wie Schaffe ich diese?requireAll
Aufruf einen neuen Eintrag " Datei-und ignorieren die js-Ausgabe von esscript(src="bunde.${HASH}.js")
etc... habe ich eine eigene Frage hier gepostet aber die hat keine Kommentare für Alter, irgendwelche Ratschläge?