앱 디렉토리가 아닌 dist 디렉토리에서 grunt 서버를 실행하는 방법
끝나고grunt build
나의 앵귤러JS 앱에서 내 앱으로dist
디렉토리, 테스트하고 싶다.grunt server
문제는...grunt server
내 안에 있는 모든 코드를 다 써버려서app/
디렉토리로 이동합니다.또한, 제가 만든 앱은yo angular
.
다음은 Gruntfile.js의 서버 태스크 코드입니다.
grunt.registerTask('server', [
'clean:server',
'coffee:dist',
'compass:server',
'livereload-start',
'connect:livereload',
'open',
'watch'
]);
어떻게 할 수 있을까요?grunt server
내 기본 코드만 제공합니다.dist/
전화번호부?
아주 짧은 대답은
grunt serve:dist
그건 내 요먼이 만든 거랑 잘 어울린다.Gruntfile.js
다음 내용이 포함됩니다.
grunt.registerTask('serve', function (target) {
if (target === 'dist') {
return grunt.task.run(['build', 'connect:dist:keepalive']);
}
grunt.task.run([
'clean:server',
'bower-install',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'watch'
]);
});
당신이 그것을 할 수 있는지 없는지는 중요하지 않다.중요한 것은 grunt 서버를 이 작업에 사용하지 않는 것입니다.보시다시피 grunt의 서버 태스크는 dist 폴더에서 필요하지 않은 많은 작업을 수행할 뿐만 아니라 앱 폴더에 대해 모두 하드 코딩됩니다.
dist 폴더의 결과만 시험해 보고 싶다면 dist 디렉토리에 cd를 삽입한 후 python과 함께 제공되는 것과 같은 단순한 HTTP 서버를 부팅해야 합니다.
python -m SimpleHTTPServer
그러면 dist 디렉토리를 테스트하기 위한 작은 서버가 시작됩니다.
다른 사람들은 이렇게 하라고 권하지 않았지만, 저는 이것이 당신이 찾고 있는 것이라고 생각합니다.express를 사용할 때 server.js 파일에서 이와 같은 작업을 수행합니다.
if (process.env.NODE_ENV == 'production') {
app.use(express.static('/dist'));
}else{
app.use(express.static('/app'));
}
이게 도움이 됐으면 좋겠네요!
그grunt serve:dist
정답은 맞지만 grunt serve:dist를 호출할 때마다 프로젝트 전체를 프로덕션 모드로 컴파일해야 하기 때문에 프로세스가 매우 번거롭습니다.
내가 한 일은 내가 수정한 것이다.Gruntfile.js
에서serve
작업, 삭제build
전송되는 파라미터로부터의 태스크run
. 먼저 수동으로 빌드해야 합니다.grunt
또는grunt build
그리고 나서 전화한다.grunt serve:dist
URL을 수동으로 엽니다.
언급URL : https://stackoverflow.com/questions/18345179/how-to-run-grunt-server-in-dist-directory-instead-of-app-directory
'programing' 카테고리의 다른 글
Angular의 q를 사용한 다중 체인 지연 함수JS 데이터 반환 중지 (0) | 2023.03.28 |
---|---|
최근 주문 템플릿 및 관리 주문에 제품 게시 유형 고급 사용자 지정 필드 표시(woocommerce) (0) | 2023.03.28 |
React 렌더링()에 Font Awesome 아이콘을 포함하는 방법 (0) | 2023.03.28 |
SQL에서 SELECT INTO를 사용하여 새 테이블 생성 (0) | 2023.03.28 |
경로를 사용하는 재료 UI 메뉴 (0) | 2023.03.28 |