2016-02-04 5 views
14
<base href=""> 
देव और उत्पादन के लिए

के लिए एक अलग अलग (उत्पादन के लिए यह सबफ़ोल्डर है) कर रहे हैं सही तरीका क्या है। वेबपैक के साथ अलग-अलग आधार बनाने का अच्छा तरीका क्या है?स्थापित करने के लिए देव/स्थिति निर्धारण/उत्पादन

उत्तर

13

सबसे अच्छा है कि मैं क्या पाया अब तक (HtmlWebpackPlugin विकल्प) config में इस संपत्ति डाल करने के लिए किया गया था:

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

और फिर उत्पादन index.html में यह:

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

किसी कारण से <% = htmlWebpackPlugin.options.baseUrl%> अब दिए गए बेस यूआरएल को कभी भी पार्स नहीं किया जाता है। – RVandersteen

+0

एचटीएमएल वेबपैकप्लगिन के संस्करण 2.x ने बदल दिया कि टेम्पलेट कैसे प्रबंधित किए जाते हैं, इसलिए पुरानी प्रतिस्थापन अब काम नहीं करते हैं। Https://github.com/ampedandwired/html-webpack-plugin/blob/master/docs/template-option.md – pards

+1

देखें मैं 'npm install --save-dev base-href-webpack-plugin' का उपयोग करता हूं। [यहां बताया गया है कि कैसे!] (Https://www.npmjs.com/package/base-href-webpack-plugin) – praHoc

5

आप एक है, तो template विकल्प एक HTML फ़ाइल पर सेट है तो प्लग-इन का संस्करण 2.x कोई प्रतिस्थापन नहीं करेगा। index.ejs

0

करने के लिए अपने index.html फ़ाइल का नाम बदलें आप webpack उपयोग कर रहे हैं आप निश्चित रूप से output.publicPath सेट करना होगा

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

और,:

इस मामले में, आप @ stever के जवाब संशोधित करने के लिए इस प्रकार की आवश्यकता होगी एक ही मूल्य के लिए। देखें HtmlWebpackPlugin injects relative path files which breaks when loading non-root website paths

0

अब यह करना आसान है।

अपनी परियोजना में आधार href-webpack-प्लग-इन इंस्टॉल:

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

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

संदर्भ: https://github.com/dzonatan/base-href-webpack-plugin

संबंधित मुद्दे