2016-01-23 16 views
9

私は自分のプロジェクトにライブラリをインポートする必要があります、ライブラリはHTMLにインラインする必要があるjavascriptファイルでなければなりません。例えばjavascriptはwebpackとインラインにすることができますか?

ライブラリコード:

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

私はHTMLでこのコードをインラインにする必要があります。

HTML:

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

    <body> 
    </body> 
</html> 

私はWebPACKのでこれを実装することができますか? script-loaderが見つかりましたが、スクリプトを実行してインラインにしません。

+0

spe Webpackによって作成されたjsバンドルではなくhtmlファイルに追加したい理由 – sandeep

+0

@sandeepこれは、モバイルデバイスのサイズに応じてhtmlディレクティブのフォントサイズを設定するレスポンシブなページソリューションです。ページがレンダリングされる前に実行する必要があります。 – Leon

+0

これはJSではなく、 '@ media'というCSSで行うべきです。しかし、 ''が解析される前に実行したいJSがある場合は、代わりに '

6

を実行します。インラインに埋め込むファイルと一致する正規表現を指定します。

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

素晴らしい!それは今働くことができますか? – Leon

4

私はinline-sourceの助けを借りて、一息せずにそれをやった:

  1. インラインソースCLIをインストールします。npm install inline-source-cli
  2. HTMLファイル内のスクリプトタグにinline属性を追加します。<script inline src="path/to/index.js"></script>
  3. 実行inline-source --root ./dist dist/path/to/index-pre.html > dist/path/to/index.html
+0

ちょっとwebpackに固執するビットクリーナー – coiso

関連する問題