2016-01-23 7 views
9

Ich muss eine Bibliothek in mein Projekt importieren, die Bibliothek sollte eine Javascript-Datei sein, die in HTML eingebunden werden muss.kann Javascript mit Webpack inline sein?

zum Beispiel:

Bibliothekscode:

(function(){ 
    var a = 0; 
})(); 

Ich brauche diesen Code inline in HTML zu machen.

html:

<html> 
    <head> 
    <script> 
     (function(){ 
     var a = 0; 
     })(); 
    </script> 
    </head> 

    <body> 
    </body> 
</html> 

kann ich dies mit webpack implementieren? Ich finde script-loader, aber es führt das Skript, nicht inline.

+0

Kann bitte ich den spe cific Grund, warum Sie es zu HTML-Datei statt js Bundle von Webpack erstellt hinzufügen möchten.? – sandeep

+0

@sandeep es ist eine Responsive-Page-Lösung, die die Schriftgröße der HTML-Anweisung entsprechend der Größe des mobilen Geräts festlegen. Es muss ausgeführt werden, bevor die Seite gerendert wird. – Leon

+0

Das sollte mit CSS '@ media' gemacht werden, nicht mit JS. Aber wenn es JS gibt, das Sie ausführen möchten, bevor das '' geparst wird, fügen Sie stattdessen das '

6

ich auf einem plugin für html webpack arbeiten begonnen haben, dies zu unterstützen. Sie geben Regex an, um Dateien zu entsprechen, die Sie inline einbetten möchten.

plugins: [ 
    new HtmlWebpackPlugin({ 
     inlineSource: '.(js|css)$' // embed all javascript and css inline 
    }), 
    new HtmlWebpackInlineSourcePlugin() 
] 
+0

großartig! es kann jetzt funktionieren? – Leon

4

ich habe es ohne großen Schluck, mit Hilfe von inline-source:

  1. Installieren Inline-Source-cli: npm install inline-source-cli
  2. ein inline Attribut, um den Skript-Tag in der HTML-Datei hinzufügen: <script inline src="path/to/index.js"></script>
  3. Run inline-source --root ./dist dist/path/to/index-pre.html > dist/path/to/index.html
+0

ein bisschen sauberer, nur um Webpack obwohl zu bleiben – coiso

Verwandte Themen