2015-10-24 16 views
6

tôi có cấu hình đầu ra này trong tập tin webpack.config tôi:bundle.js đầu ra tập tin và webpack-dev-server

config = { 
      ... 
      output: { 
       path: path.resolve(__dirname, 'dist'), 
       filename: 'bundle.js', 
       publicPath: 'http://localhost:8090/' 
      }, 
... } 

Các bundle.js không ghi vào con đường quy định tại path; nó chỉ có sẵn thông qua máy chủ web trong khi tôi muốn cả hai.

Tôi nên thay đổi điều gì để có cả tệp và máy chủ web?

Trả lời

13

Khi bạn chạy webpack-dev-server, bạn không thực sự đóng gói và xây dựng lại gói webpack, nó chỉ phục vụ nó từ bộ nhớ.

Theo kinh nghiệm của tôi, cách xung quanh việc này là có hai trường hợp đang chạy nếu bạn muốn có bản dựng thực tế cũng như webpack-dev-server. Vì vậy, trong một cửa sổ terminal có

webpack --watch 

chạy, (webpack --watch sẽ xây dựng lại bó thực tế). Sau đó, trong thiết bị đầu cuối khác có

webpack-dev-server 

chạy, (webpack-dev-server sẽ sống reaload và phục vụ từ bộ nhớ xây dựng mới).

+0

Ok ... thực tế phổ biến là gì? Có sử dụng webpack-dev-server trong quá trình phát triển và chỉ gọi webpack khi tạo gói để sử dụng sản xuất không? Khi nào mọi người tạo tệp bundle.js? – mguijarr

+0

@mguijarr Mặc dù đó là chính xác những gì tôi làm hầu hết thời gian (sử dụng webpack-dev-server trong quá trình phát triển và sau đó gọi webpack khi tôi sẵn sàng sản xuất), tôi không chắc chắn nếu đây là phương pháp hay nhất hoặc nếu có tốt hơn/cách hiệu quả hơn để làm điều đó, và sẽ đánh giá cao bất kỳ người khác xem về điều này. –

1

Plugin này sẽ buộc webpack-dev-server cũng viết các tệp bó, loại bỏ sự cần thiết phải chạy hai quy trình trong thiết bị đầu cuối.

gajus/write-file-webpack-plugin

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