2016-02-10 14 views
7

Я пытаюсь изучить React и всю среду, построенную вокруг него. Я делаю это, пытаясь создать собственный dev-стек.Не удается создать webpack-assets.json с помощью webpack-изоморфных инструментов

Проблема, с которой я не могу справиться очень долго, заключается в том, как обслуживать CSS/изображения, не теряя при этом возможности рендеринга сервера.

Я прочитал пару учебников и обнаружил webpack-isomorphic-tools

Я настроил их и удалось получить поддержали изображения, дерзость (преобразован в CSS), а также.

Однако, я столкнулся с проблемой, что мой файл webpack-assets.json не сгенерирован, вместо этого я вижу этот вывод. (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, но он показал, что плагин работает, когда файл присутствует.)

$ 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) 

Я понимаю, цель этого файла, но я не могу понять, почему это не генерируется вообще.

Есть ли что-нибудь, что мне не хватает? Вот соответствующие файлы и хранилище

Может кто-нибудь объяснить, что происходит, я читал документацию, блоги, но я что-то пропустил. Спасибо.

ответ

7

Причина, по которой файл активов не сгенерирован, заключается в том, что вы интегрировали webpack-dev-server в свой server.js.

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

Это неправильный способ сделать это, потому что в производстве не нужно будет webpack-dev-server и, следовательно, ее место где-то в другом месте.

В вашем случае webpack-dev-server предназначен для генерации webpack-assets.json и это webpack-dev-server бежится послеwebpack-isomorphic-tools.server() метода вызывает его обратный вызов, но это не будет вызывать его обратный вызов до тех пор, пока не найдет webpack-assets.json.

Ответ заключается в том, чтобы запустить ваш webpack-dev-server в отдельном процессе (вы можете обратиться к github.com/erikras/react-redux-universal-hot-example для примера того, как этого достичь).

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

Вы также можете, как мой собственный шаблонного, который может сделать все модные вещи

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

+0

Спасибо, суть моей проблемы в том, что я не бегал эти вещи параллельно , –

Смежные вопросы