2017-06-26 1 views
2

Ich arbeite hart in eine einfache footer.html (als HTML-Teil) über HTML-Loader. Ich benutze webpack Version 2. Mit $ {require ('./footer.html')} oder $ {require ('../footer.html')} ist fehlgeschlagen. Ich benutze nicht ejs loader und ich benutze das lenker plugin nicht. Weiß jemand, wie ich dieses Problem beheben kann oder ist es möglich, Partials mit Webpack zu rendern?Wie html partitions mit webpack (Version 2) mit dem html-loader?

Vielen Dank für Ihre Empfehlung!

+1

Welche Art von Fehler sehen Sie? Was haben Sie stattdessen erwartet? – arkanciscan

+0

Es druckte nur das $ {require ('./footer.html')} Markup, ohne etwas zu tun. Vielleicht ist es nicht möglich, Teiltöne mit dem html-loader zu rendern, oder? Wenn ich den Standardlader (möglicherweise ejs) benutze, bekomme ich ein Ergebnis, aber das wirft einen Fehler mit dem Dateityp .html – Mathias

+0

Was bedeutet "gedruckt"? Wo gedruckt? – arkanciscan

Antwort

1

Ich benutze html-loader und fügen Sie einfach <%= require('html-loader!./partial/header.html') %> meiner Haupt index.html. Das ist Arbeit für mich.

+0

Leider wird der Require-Status nicht angezeigt. Es gibt nur zurück '<% = require ('html-loader! ./partial/header.html')%>' – Mathias

+0

Haben Sie "html-loader" und "html-webpack-plugin"? Auch können Sie meine Webpack-Konfiguration überprüfen https://github.com/bolten08/webpack/blob/master/webpack.config.js –

+0

Danke für den Hinweis. Ich habe die Plugins bereits in der webpack.config. Muss ich auch das partielle über HtmlWebpackPlugin erstellen? Hier mein Webpack https://gitlab.com/redsleeve/webpack – Mathias

0

In Webpack.config Datei, die Sie wie Haupt html hinzufügen können unter

plugins: [ 
    new HtmlWebpackPlugin({ 
     template: 'index.html' 
    }), 
    new ExtractTextPlugin('bundle.css') 
], 

Fügen Sie HTML-loader in package.json und das unten stehende Verfahren in Konfigurationsblock verwenden allein ist genug.

$stateProvider.state('app', { 
      url: '/app', 
      template: require('html-loader!root/app/Common/templates/role.html'), 
      controller: 'roleController' 
     }) 

Also alle partials werden innerhalb der bundle.js gebündelt werden itself.No müssen die Lader in webpack-config hinzuzufügen als auch

0

Das Merkmal interpolation genannt wird. Hier { test: /\.html$/, use: ['html-loader?interpolate'] }, ist eine Webpack-Konfiguration Regel, die es durch die Angabe der interpolate Flag nutzt.

0

Ich habe mit Ihnen webpack.config.js Datei getestet. Alles was Sie tun müssen, um entfernen ist nach dem von ihm:

{ 
    test: /\.html$/, 
    use: ['html-loader'] 
}, 

so dass die fallback lodash loader comes into play.