2017-12-13 4 views
3

백 드롭 내가 루프백 및 각도 응용 프로그램을어떻게 꿀꺽에게

을 사용하여 다음과 같은 구성에서 빌드를 자동화, 루프백 우리는 클라이언트 서비스를받을 수있는 자사의 SDK를 사용하여 서버 모델 및 API의과를 사용하여 제공합니다.

이제 gulp를 사용하여 다음 빌드 프로세스를 자동화 할 계획입니다. 모델이 변경된 경우 sdk 명령이 실행되고 서버가 다시 시작됩니다. 두 번째로 각도 파일을 변경하면 sdk 파일이 실행되고 angular dist 폴더에서 파일이 반입되고 서버가 재시작됩니다 우리는 브라우저의 라이브 리로드를 사용할 수 있습니다.

여기 제가 시도한 것이고 이것은 결코 작동하지 않을 것입니다.

업데이트

내가 물건이 실패 한 곳의 대부분을 자동화 할 수 있었다

gulp.task('browser-sync', function() { 
    browserSync.init(null, { 
    proxy: 'http://localhost:3000/home', 
    browser: 'google chrome', 
    port: 7000, 
    }); 
    gulp.watch(['client/src/app/*.ts'], browserSync.reload); 
    let watcher = gulp.watch(['./common/models/**.js', './server/**.js', 'gulpfile.js'], ['sdk', 'server']); 
    watcher.on('change', function(event) { 
    console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); // this watcher 
    }); 
}); 

gulp.task('sdk', function() { 
    spawn('./node_modules/.bin/lb-sdk', ['server/server.js', './client/src/app/shared/sdk', '-q'], {stdio: 'inherit'}); 
}); 

이 감시자는 서버를 다시 시작하고 SDK를 실행하지만 SDK에 실패

스택 추적 도와주세요

via remoting. The Angular code for this scope won't be generated. 
[19:29:37] Starting 'sdk'... 
[19:29:37] Finished 'sdk' after 11 ms 
[19:29:37] Starting 'server'... 
[19:29:37] Finished 'server' after 17 ms 
events.js:163 
     throw er; // Unhandled 'error' event 
    ^

Error: spawn ./node_modules/.bin/lb-sdk ENOENT 
    at exports._errnoException (util.js:1050:11) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) 
    at onErrorNT (internal/child_process.js:367:16) 
    at _combinedTickCallback (internal/process/next_tick.js:80:11) 
    at process._tickCallback (internal/process/next_tick.js:104:9) 
,363,210

업데이트

내가 여러 꿀꺽 작업을

내가 경로를 변경하는 process.chdir을 변경하고 난이 SDK의 탭을 유지 동일위한 새로운 디렉토리에 발생 ng build -w 같은 하나 그래서 내가를 확인해야 할 다시 그녀의 길. 어떻게하면 내 스폰에서 절대 경로를 확인하거나 제공 할 수 있습니까? 이것이 예상 실패 원인 중 하나 인 경우

+0

에 다음과 같은 검사를 추가 할 수 있습니다이 문제를 해결합니다. 확실히 할 수 있니? –

+0

또는 더 구체적으로 말하자면, gulp 파일 또는 gulp 자체에서 실행중인 디렉토리와 관련하여 찾을 수 없습니다. ENOENT는 해당 파일을 찾지 못하는 스폰와 관련된 오류입니다. 저는 100 % 답변이 전부라고 말할 수 없기 때문에 이것들을 코멘트로 씁니다. 그러나 그것이 어떤 식 으로든 도움이되는지 알려 주시면 더 확실한 답을 얻을 수 있는지 알게 될 것입니다. –

+0

./node_modules/.bin/lb-sdk에 대해 긍정적이 될 수 있습니까? 그것이 존재합니까? –

답변

1

하여 업데이트를 고려하여 발생 될 수 무엇

은 당신이 모든 작업에 sepearate 작업과 또한 유지 한 시계에 대한 process.chdir를 사용하여 디렉토리를 변경하면. 경로가 이전 경로로 설정되고 꿀꺽 꿀꺽함 작업이 해당 경로에서 sdk i : spawn('./node_modules/.bin/lb-sdk', ['server/server.js', './client/src/app/shared/sdk', '-q'], {stdio: 'inherit'});을 찾을 수 없습니다.

그것은`./node_modules/.BIN/LB-sdk`이 존재하지 않는다고 믿는 당신이 sdk task

gulp.task('sdk', function() { 
    if (process.cwd() != __dirname) { // this checks for the current path 
    process.chdir(<change path>); // if it dosent match your base path change it here 
    } 
    spawn('./node_modules/.bin/lb-sdk', ['server/server.js', './client/src/app/shared/sdk', '-q'], {stdio: 'inherit'}); 
}); 
+0

고마워요이 – INFOSYS

0
  1. npm install --save-dev @mean-expert/loopback-sdk-builder을 실행 했습니까?
  2. gulpfile.jspackage.json과 같은 디렉터리에 있습니까?
  3. 특정 ./node_modules/.bin/lb-sdk이 있습니까?
  4. 모든 것을 다시 설치해 보셨습니까?

오류에 대한 대답은 당신의 산란 기능이 ./node_modules/.bin/lb-sdk를 찾을 수 없습니다 단순히. 이것은 그것이 당신의 gulpfile.js에 상대적으로 를 찾을 수 없기 때문에 파일이 존재하지 않기 때문에, 또는

콘솔의 ENOENT 오류가 의미 "어떤 개체 오류 '중 하나입니다. 그것은 노드 자체보다는 UNIX에서 나옵니다. 기본적으로 "파일을 찾을 수 없습니다"라고 번역되지만 파일/디렉토리뿐만 아니라 다양한 일반적인 것들에도 적용됩니다.

./node_modules/.bin/lb-sdk 파일이 있는지 확인하십시오. 그런 다음 gulpfile이 해당 디렉토리와 관련된 루트에 있는지 확인하십시오.

+0

메모로서, 나는 당신의 코드를 시험해 볼 것이라고 생각했습니다. 바이너리가 [loopback-sdk-builder] (https://github.com/mean-expert-official/loopback-sdk-builder)에서 나왔다고 가정합니다. 나는 잘 작동하도록했다. –

+0

내 작업 중 하나에 대해 using.process와 inthink를 변경한다고 생각하는데, 이것에 상대적으로 agin을 바꿀 필요가있다. 어떻게 할 수 있는가? – INFOSYS

+0

미안하지만, 나는 당신의 질문을 이해하지 못한다. –