2016-02-04 38 views

cevap

13

iyi şimdiye kadar config (HtmlWebpackPlugin seçeneği) bu özelliği koymak oldu ne buldum:

new HtmlWebpackPlugin({ 
    ... 
    baseUrl: process.env.NODE_ENV == 'development'?'/':'/app/' 
}) 

ve index.html içinde daha sonra çıkışı:

<base href="<%= htmlWebpackPlugin.options.baseUrl %>" /> 
+0

% = htmlWebpackPlugin.options.baseUrl%> artık verilen baseUrl'e asla ayrılmaz. – RVandersteen

+0

Sürüm 2.x HtmlWebpackPlugin, şablonların nasıl işlendiğini değiştirdi, böylece eski ikameler artık çalışmaz. Bkz. Https://github.com/ampedandwired/html-webpack-plugin/blob/master/docs/template-option.md – pards

+1

'npm install --save-dev base-href-webpack-plugin' kullanıyorum. [İşte nasıl yapılır!] (Https://www.npmjs.com/package/base-href-webpack-plugin) – praHoc

5

Bir varsa Bir HTML dosyasına ayarlanmış template seçenek, daha sonra eklentinin Sürüm 2.x'i herhangi bir değişiklik yapmayacaktır. kesinlikle output.publicPath ayarlamak zorunda kalacak,

new HtmlWebpackPlugin({ 
    ... 
    template: './src/index.ejs', 
    baseUrl: process.env.NODE_ENV == 'development'?'/':'/app/' 
}) 

ve WebPack kullanıyorsanız index.ejs

0

Şimdi bunu yapmak çok kolay.

projenizde baz href-webpack-eklentisini yükleyin:

npm install --save-dev base-href-webpack-plugin 

ve webpack dosyasında bu kodu almak:

// Import package 
const { BaseHrefWebpackPlugin } = require('base-href-webpack-plugin'); // Or `import 'base-href-webpack-plugin';` if using typescript 

// Add to plugins 
plugins: [ 
    new BaseHrefWebpackPlugin({ baseHref: '/' }) 
] 

Referans: https://github.com/dzonatan/base-href-webpack-plugin