2017-02-27 4 views
2

프런트 엔드에 React, 백엔드에 Django이라는 웹 응용 프로그램을 개발 중입니다. 나는 Webpack을 사용하여 React 애플 리케이션을위한 변경 사항과 번들 코드를 감시한다.npm 스크립트를 manage.py runserver 실행할 수 있습니까?

webpack --config webpack.config.js --watch 
./manage.py runserver 

npm run start:dev처럼 NPM 스크립트를 실행하는 runserver 명령을 사용자 정의 할 수있는 방법이 있나요 :

문제

내가 동시에 반응 장고에 대한 다른 하나는 하나를 두 개의 명령을 실행해야한다는 것입니다? Node.js를 백엔드 플랫폼으로 사용하면 npm run build:client && npm run start:server과 비슷한 작업을 수행 할 수 있습니다.

+0

두 가지 작업을 실행하기 위해 꿀꺽 꿀꺽 마시거나 꿀꺽 꿀꺽 거리는 소리를 들여다 보았습니까? – turbotux

답변

0

기본 제공 관리 명령을 혼동해서는 안되지만 직접 만들 수 있습니다 : https://docs.djangoproject.com/en/1.10/howto/custom-management-commands/. 당신의 장소에

나는 자리에 runserver을 떠나 os.execvp와 스크립트 (이 경우 npm) 사용자 정의를 실행하는 일, 즉를 만들 것입니다.

이론적으로 두 개의 병렬 하위 프로세스 (예 : django.core.management.execute_from_command_line)를 실행하고 두 번째 스크립트를 실행할 수 있습니다. 그러나 pbd과 같은 도구를 사용하는 것은 불가능합니다 (이는 매우 어려운 작업입니다).

내가하는 방식은 Docker와 Docker를 활용하는 것입니다. 그런 다음 docker-compose up -d 데이터베이스 서비스, npm 스크립트, redis 등을 백그라운드 (실행 runserver 별도로 실행하지만 다른 주제가)에서 실행할 때.

1

이미 webpack과 django를 사용하고 있다면 webpack-bundle-tracker와 django-webpack-loader를 사용하는 것이 좋습니다.

기본적으로 webpack-bundle-tracker는 번들이 빌드 될 때마다 stats.json 파일을 만들고 django-webpack-loader는 stats.json 파일이 dev 서버를 다시 시작하는지 감시합니다. 이 스택을 사용하면 서버와 클라이언트 간의 문제를 구분할 수 있습니다.

explaining이 파이프 라인에 a couple 개의 게시물이 있습니다.

관련 문제