2016-02-04 16 views

risposta

13

il meglio quello che ho trovato finora è stato quello di mettere questa proprietà in config (opzionale HtmlWebpackPlugin):

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

e poi l'uscita in index.html:

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

Per qualche motivo <% = htmlWebpackPlugin.options.baseUrl%> non viene mai più analizzato con baseUrl specificato. – RVandersteen

+0

La versione 2.x di HtmlWebpackPlugin ha cambiato il modo in cui i template sono gestiti, quindi le vecchie sostituzioni non funzionano più. Vedi https://github.com/ampedandwired/html-webpack-plugin/blob/master/docs/template-option.md – pards

+1

Io uso 'npm install --save-dev base-href-webpack-plugin'. [Ecco come!] (Https://www.npmjs.com/package/base-href-webpack-plugin) – praHoc

5

Se si dispone di un L'opzione template è impostata su un file HTML, quindi la versione 2.x del plug-in non eseguirà alcuna sostituzione.

In questo caso, sarà necessario modificare la risposta di @ Stever come segue:

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

e rinominare il file index.html a index.ejs

0

Ora è facile farlo.

Installare la base-href-webpack-plugin nel progetto:

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

e importare questo codice nel file di webpack:

// 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: '/' }) 
] 

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

Problemi correlati