2016-02-10 18 views
7

Tôi đang cố gắng tìm hiểu React và toàn bộ môi trường được xây dựng xung quanh nó. Tôi làm điều đó bằng cách cố gắng xây dựng dev-stack của riêng mình.Không thể tạo webpack-assets.json bằng webpack-isomorphic-tools

Sự cố tôi không thể gặp phải trong một thời gian rất dài là cách phân phát CSS/Hình ảnh trong khi không mất sức mạnh của kết xuất máy chủ.

Tôi đã đọc một vài hướng dẫn và phát hiện ra webpack-isomorphic-tools

Tôi đã cấu hình chúng và quản lý để có được một hình ảnh được hỗ trợ, sass (chuyển thành css) là tốt.

Tuy nhiên, tôi gặp phải sự cố rằng tệp webpack-assets.json của tôi không được tạo, thay vào đó tôi thấy kết quả này. (I managed to get it generated on a 2nd run of npm start before this commit, but that was definitely not a way to go, nhưng nó cho thấy các plugin hoạt động khi một tập tin là hiện tại.)

$ npm start 

> [email protected] start /Users/janvorcak/learning2016 
> node src/server/index.js 

[webpack-isomorphic-tools] (waiting for the first Webpack build to finish) 
[webpack-isomorphic-tools] (waiting for the first Webpack build to finish) 
[webpack-isomorphic-tools] (waiting for the first Webpack build to finish) 
[webpack-isomorphic-tools] (waiting for the first Webpack build to finish) 

tôi hiểu mục đích của tập tin này, nhưng tôi thực sự không thể tìm ra lý do tại sao nó không được tạo ra ở tất cả.

Tôi có thiếu điều gì không? Dưới đây là các tập tin có liên quan và một kho lưu trữ

Ai đó có thể giải thích những gì đang xảy ra, tôi đã đọc tài liệu, blog, nhưng tôi đang thiếu một cái gì đó ở đây. Cảm ơn bạn.

Trả lời

7

Lý do tệp nội dung không được tạo là vì bạn đã tích hợp webpack-dev-server vào số server.js của mình.

https://github.com/jvorcak/universal-react-kit/blob/master/src/server/server.js#L81

Đó là một cách sai lầm để làm điều đó bởi vì trong sản xuất bạn sẽ không cần webpack-dev-server và do đó vị trí của nó là ở một nơi khác.

Trong trường hợp của bạn webpack-dev-server có nghĩa là để tạo ra webpack-assets.jsonwebpack-dev-server này đang được chạy sauwebpack-isomorphic-tools.server() phương pháp gọi callback của nó, nhưng nó sẽ không gọi callback của nó cho đến khi nó tìm thấy webpack-assets.json.

Câu trả lời là chạy webpack-dev-server của bạn trong một quy trình riêng biệt (bạn có thể tham khảo github.com/erikras/react-redux-universal-hot-example để biết ví dụ về cách đạt được điều đó).

https://github.com/halt-hammerzeit/webpack-isomorphic-tools/issues/47

Bạn cũng có thể thích soạn sẵn rất riêng của tôi có thể làm tất cả những điều ưa thích

https://github.com/halt-hammerzeit/webapp

+0

Cảm ơn bạn, cốt lõi của vấn đề của tôi là tôi đã không chạy những thứ song song . –

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