2016-01-23 43 views
9

我需要將庫導入到我的項目中,庫應該是一個JavaScript文件,需要將其內聯到html。javascript可以與webpack內聯嗎?

例如:

庫代碼:

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

我需要在HTML的代碼內聯。

HTML:

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

    <body> 
    </body> 
</html> 

可我的WebPack實現這個? 我發現script-loader,但它運行腳本,而不是內聯。

+0

我可以問問爲什麼你想將它添加到html文件而不是由webpack創建的js包。 – sandeep

+0

@sandeep它是一個響應式頁面解決方案,它根據移動設備的大小設置html指令的字體大小。它需要在頁面呈現之前執行。 – Leon

+0

這應該用CSS'@ media'來完成,而不是用JS。但是,如果在解析「」之前想要運行JS,請將「

6

我已經開始工作的一個pluginhtml webpack支持這一點。你指定正則表達式來匹配你想嵌入的文件。

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. 添加inline屬性的腳本標籤在HTML文件中:<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

相關問題