reactjs / admin ui / 어드민 확장 /
vendure 의 admin ui extension 만들기
여기서는 react 를 이용해서 admin ui extension 을 만들어 보려 한다. 참고로, vendure 의 admin ui 는 angular 로 되어 있다.
동작 방법
다음 내용은 How It Works의 내용의 번역이다.
UI extension 은 Angular module 이다. 이것이 compile 된 후
compileUiExtensions
function 에 의해 Admin UI application 이랑 같이 묶이게 된다. 이compileUiExtensions
function 은@vendure/ui-devkit
package에 의해 export 된다.내부적으로 ui-devkit package는 javascript 번들들(이 번들에 당신의 extension 들도 포함된다.)의 최적화된 집합을 compile 하기 위해서 Angular CLI 를 이용한다.
Prerequisite
여기선 아래 source를 기본으로 설명한다.
여기서는 vendure source 를 직접 사용하지 않는다. 위 real-world-vendure
에서 vendure 의 source 는 node_modules 안에 들어있게 된다.
ui extension
이것은 admin ui 의 확장을 위한 것이다. Admin UI 를 extend 한 Vendure plugin 의 전체 source code 는 아래에 있다.
아래같은 구조로 파일을 추가한다.
- src/
- ui-extensions/
- modules/
- my-app/
- <react files>
- ui-extensions.ts
@vendure/ui-devkit
설치npm install @vendure/ui-devkit
react app 생성
여기서 이름은
my-app
으로 한다.npx create-react-app my-app --template typescript
package.json
안에homepage: "/admin/assets/react-app/"
추가React app 은 다음에 지정된 대로 하위 디렉터리에 복사되기 때문이다.
// package.json { ... "homepage" : "/admin/assets/react-app/" }
my-app folder에서 .env 를 생성
port
를 변경하는 이유는 Vendure server 와 충돌하지 않게 하기 위해서이다.# .env file SKIP_PREFLIGHT_CHECK=true PORT=3080
ui-extensions.ts
을 추가/src/ui-extensions/shared-ui-extension.module.ts
는 navigation menu 를 위해 추가react app 을 build :
/src/ui-extensions/my-app
에서yarn
실행후,yarn build
/
에서yarn build
를 한다.
댓글 없음:
댓글 쓰기