나는 express를 사용하고 반응하는 프로젝트를 설정하려고합니다. 그리고 가능한 한 많은 혜택을 얻으려고 React-Slingshot 프로젝트를 최대한 활용하려고합니다. 그러나 그 일은 필자가 작성한 스크립트로 프로젝트를 (서버 측에서) 제공해야한다는 것이다. 이 스크립트는 클라이언트 측 서버에 express 및 아마도 socket.io를 사용합니다.컴파일, 감시 및 서버로 사용자 정의 된 npm 스크립트
React-Slingshot과 같은 프로젝트를 사용하는 경우 문제가 발생한다고 생각합니다. 핫 리로드 및 물건을 지원하는 자체 서버 스크립트가 함께 제공되기 때문입니다. 나는 뜨거운 재 장전과 같은 멋진 기능을 포기할 용의가있다. 하지만 일부 파일이 변경 될 때마다 --watch
기능을 유지해야하므로 전체 서버를 다시 시작하지 않고 코드가 컴파일됩니다.
는 지금, package.json의 스크립트 부분은 다음과 같습니다
"scripts": {
"preinstall": "node tools/nodeVersionCheck.js",
"setup": "node tools/setup/setupMessage.js && npm install && node tools/setup/setup.js",
"remove-demo": "babel-node tools/removeDemo.js",
"start-message": "babel-node tools/startMessage.js",
"prestart": "npm run start-message",
"start": "concurrently -k -r -s first \"npm run test:watch\" \"npm run open:src\" \"npm run lint:watch\"",
"open:src": "babel-node tools/srcServer.js",
"open:dist": "babel-node tools/distServer.js",
"lint": "esw webpack.config.* src tools --color",
"lint:watch": "npm run lint -- --watch",
"clean-dist": "npm run remove-dist && mkdir dist",
"remove-dist": "rimraf ./dist",
"prebuild": "npm run clean-dist && npm run lint && npm run test",
"build": "babel-node tools/build.js && babel server -d dist --presets es2015,stage-2",
"test": "jest",
"test:CI": "babel-node tools/testCi.js",
"test:cover": "npm run test -- --coverage ",
"test:cover:CI": "npm run test:CI -- --coverage && cat ./coverage/lcov.info | node_modules/coveralls/bin/coveralls.js",
"test:watch": "jest --watch",
"open:cover": "npm run test:cover && opn ./coverage/lcov-report/index.html",
"analyze-bundle": "babel-node ./tools/analyzeBundle.js"
},
이것은 반응-새총에서 무엇을 찾을 수의 수정 된 버전입니다. 내가 변경했을 때 npm run build
을 실행하면 서버 코드도 빌드되고 종료됩니다. 그것은 이렇게 될하는 데 사용 :
"build": "babel-node tools/build.js && npm run open:dist",
를 이제 나머지 코드는 내 dev에 환경으로 --watch
기준으로 정리하는 동안 나는 (즉 node temp/server.js
) 내 자신의 서버를 실행하는 방법을 찾기 위해 노력하고있어.