2016-02-04 11 views

Trả lời

13

tốt nhất những gì tôi tìm thấy cho đến nay là đặt khách sạn này trong cấu hình (tùy chọn HtmlWebpackPlugin):

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

và sau đó đầu ra nó trong index.html:

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

Đối với một số lý do <% = htmlWebpackPlugin.options.baseUrl%> không bao giờ được phân tích cú pháp thành baseUrl đã cho nữa. – RVandersteen

+0

Phiên bản 2.x của HtmlWebpackPlugin đã thay đổi cách xử lý mẫu, vì vậy các thay thế cũ không còn hoạt động nữa. Xem https://github.com/ampedandwired/html-webpack-plugin/blob/master/docs/template-option.md – pards

+1

Tôi sử dụng 'npm install --save-dev base-href-webpack-plugin'. [Đây là cách để!] (Https://www.npmjs.com/package/base-href-webpack-plugin) – praHoc

5

Nếu bạn có một Tùy chọn template được đặt thành tệp HTML thì Phiên bản 2.x của trình cắm sẽ không thực hiện bất kỳ thay thế nào.

Trong trường hợp này, bạn sẽ cần phải sửa đổi câu trả lời @ Stever như sau:

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

và đổi tên tập tin index.html của bạn để index.ejs

0

Giờ đây thật dễ dàng để thực hiện.

Đặt chân đế-href-webpack-plugin trong dự án của bạn:

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

và nhập mã này trong tập tin 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: '/' }) 
] 

tham khảo: https://github.com/dzonatan/base-href-webpack-plugin

Các vấn đề liên quan