inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển ứng dụng web dựa trên Spring và JPA

Thiết lập thư viện frontend

윈도우에서 gradle로 빌드하시려는 분께 공유드립니다.

1271

chanho0912

5 câu hỏi đã được viết

6

윈도우 환경에서 gradle로 빌드 하시려는 분들을 위해 공유 드립니다.

1. build.gradle

    dependencies {
        ...
        classpath "com.github.node-gradle:gradle-node-plugin:3.1.0"
    }

classpath에 node-gradle 을 추가해 주시고

def preinstalledNodeDistributionDirectory = file("${projectDir}/src/main/resources/static/node")

이거 하나 선언해 주시고

apply plugin: "com.github.node-gradle.node"

위 플러그인 적용해주시면

node {

    version = '11.15.0'  // 제가 사용중인 노드 버전을 적었습니다.

    download = true

    nodeModulesDir = file("${projectDir}/src/main/resources/static")

}





task copyFrontLib(type: Copy) {

    from "${projectDir}/src/main/resources/static"

    into "${projectDir}/build/resources/main/static/."

}

copyFrontLib.dependsOn npmInstall

compileJava.dependsOn copyFrontLib

해당 코드를 추가하여 사용하시면 build시에 프런트 라이브러리들을 빌드에 추가하실 수 있습니다.

2. css 깨짐 현상

본 강의와 같이 부트스트랩을 사용하셔서 동일한 css를 적용시키려면 그냥 install bootstrap으로는 안되는것같습니다. 

버전이 달라서 css 속성명이 달라졌나봐요...

그래서 만약에 build에 정상적으로 라이브러리 추가 되시는데 뷰가 어디가 좀 깨져서 나오시거나 css가 적용이 잘 안되시면

"dependencies": {

  "bootstrap": "^4.4.1",

  "jquery": "^3.4.1"

}

선생님이 강의에서 사용하신 버전으로 명시적으로 바꾸어주셔야 합니다. 

저렇게 적용하면 정상적으로 뷰가 나와요... 많이 해맸네요ㅜㅜ

java thymeleaf JPA spring spring-boot

Câu trả lời 2

5

opensesame

맨 위에 공유 해주신거 보고 참고해서 정리한 build.gradle 파일 소스 입니다. 

repositories 에 gradlePluginPortal() 이걸 추가해줘야 합니다.

plugins {
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id "com.github.node-gradle.node" version "3.1.0"
}

group = 'me.bingbingpa'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
gradlePluginPortal()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-mail'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
annotationProcessor 'org.projectlombok:lombok'

// npm
implementation 'com.github.node-gradle:gradle-node-plugin:3.1.0'


testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}

test {
useJUnitPlatform()
}

node {
version = '16.3.0'
download = true
nodeModulesDir = file("${projectDir}/src/main/resources/static")

}
task copyFrontLib(type: Copy) {
from "${projectDir}/src/main/resources/static"
into "${projectDir}/build/resources/main/static/."
}
copyFrontLib.dependsOn npmInstall
compileJava.dependsOn copyFrontLib

0

jungsik

감사합니다.

1

whiteship

좋은 정보 공유해 주셔서 감사합니다.

parksangdonews님께서 그래들 빌드 설정 파일을 PR을 보내주신것도 깃헙에 있으니 참고하시기 바랍니다.

https://github.com/hackrslab/studyolle/blob/master/_build.gradle_ 

1

Bruce Han

오 저도 됐어요!

처음에 index.html에서 /node_modules로 가져오려는 css가 안 되더라구요. 1.node_modules 폴더는 있지만 node폴더가 없어서 기선님 소스에서 node폴더 복사(이건 중간에 제가 명령어 안 쳐서 빠뜨린 게 있었나 봅니다.)

2.위의 기선님이 제시해주신 PR된 소스링크 가서 가져올 소스 가져오기

3.npm-install한 후 (얘네는 이미 해서 의미 없겠지만 혹시 몰라서) bootstrap, jquery npm 설치

4.SecurityConfig로 가서 node_modules에 대한 필터링 무시하도록 설정 (기선님 강의 자료 소스에 있음)

5.이러고 애플리케이션 실행하니까 됐습니다.

Study 개설하는 로직에 대해서 궁금점이 있습니다.

0

53

1

앱 재시작 후 회원가입

0

99

1

app.host 관련 질문이 있습니다

0

96

1

강의 버전 정보

0

124

1

event, study 참조

0

218

2

비밀번호 변경 로직 질문있습니다.

0

133

1

프로필 수정 처리 merge 질문입니다.

0

104

1

회원가입 성공 후 redirect이동시 권한 질문

0

490

3

HtmlEmailService 개발하다 생긴 의문입니다

0

248

2

postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다

0

428

2

수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다

0

259

2

[긴급-재업로드]수업질문 로그인 안 되는 문제

0

234

1

[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요

0

275

1

cropper 오류 문제로 질문드립니다..

0

284

2

authentication관련 질문...

0

494

2

모임참가 취소 할때 로직 질문

0

349

3

안녕하세요 기선님 질문이있습니다..

0

228

1

HTML코드 및 강의 중간자료들

0

677

3

springSecurity

0

519

2

버전 질문입니다.

0

299

1

부트스트랩, css

0

350

2

영속성 컨텍스트 질문

0

245

2

다시 강의를 보니 드는생각..

0

349

2

5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?

0

311

1