게시글
고민있어요
2024.02.22 00:49
배포 관련 질문사항있습니다.
- 0
- 1
- 132
질문&답변
2021.08.21
Menu에 style 질문있습니다 !
혹시 CretaeMenu style안에 있는 & > div 에서 position : absolute 속성으로 인해 정의가 가능한걸까요 ? & > div {
- 0
- 1
- 71
질문&답변
2021.08.12
이건 무슨 오류인가요 ㅠㅠㅠ
(사진) 바꼈습니다 ㅠ
- 0
- 1
- 126
질문&답변
2021.08.11
이게 무슨 에러인가요 ㅠㅠ
webpack.config.ts 파일내용입니다. import path from 'path' ; // import ReactRefreshWebpackPlugin from '@pmmmwh/react-refresh-webpack-plugin'; import webpack from 'webpack' ; const isDevelopment = process . env . NODE_ENV !== 'production' ; const config : webpack . Configuration = { name : 'slack' , mode : isDevelopment ? 'development' : 'production' , devtool : isDevelopment ? 'hidden-source-map' : 'inline-source-map' , resolve : { extensions : [ '.ts' , '.js' , 'jsx' , 'tsx' , '.json' ], alias : { '@hooks' : path . resolve ( __dirname , 'hooks' ) , '@components' : path . resolve ( __dirname , 'components' ) , '@layouts' : path . resolve ( __dirname , 'layouts' ) , '@pages' : path . resolve ( __dirname , 'pages' ) , '@typings' : path . resolve ( __dirname , 'typings' ) }, }, entry : { app : './client' , }, module : { rules : [ { test : / \.tsx ? $ / , loader : 'babel-loader' , options : { presets : [ [ '@babel/preset-env' , { targets : { browsers : [ 'last 2 versions' , 'safari >= 7' ] }, debug : isDevelopment , }, ], '@babel/preset-react' , '@bable/preset-typescript' ], }, exclude : path . join ( __dirname , 'node_modules' ), }, // babel이 css도 javascript로 바꿔주기 때문에 여기서 css관련 loader를 설정해줘야함 { test : / \.css $ / , use : [ 'style-loader' , 'css-loader' ], }, ], }, plugins : [ // new ForkTsCheckerWebpackPlugin({ // async: false, // }), // react 에서 NODE_ENV 변수를 사용할 수 있게 만들어줌 원래는 backend에서만 실행 가능함(노드 런타임 때만 접근 가능하지만) // 해당 설정을 해주면 NODE_ENV 접근 가능 new webpack . EnvironmentPlugin ({ NODE_ENV : isDevelopment ? 'development' : 'production' }), ], // 위에 entry부터 뚝딱뚝딱 설정해서 나온 파일들이 output에 저장 됨. output : { // alecture의 dist 폴더 = alecture/dist 폴더 path : path . join ( __dirname , 'dist' ), // 여기 name은 entry의 key 값이 됨. entry key는 여러개를 만들 수 있음 filename : '[name].js' , publicPath : '/dist/' , }, // devServer: { // historyApiFallback: true, // port: 3090, // publickPath: '/dist/', // proxy: { // } // } }; // 개발환경일 때 쓸 플러그인들 if ( isDevelopment && config . plugins ) { // config.plugins.push(new webpack.HotModuleReplacementPlugin()); // config.plugins.push(new ReactRefreshWebpackPlugin()); // config.plugins.push(new BundleAnalyzerPlugin({ analyzeMode: 'server', openAnalyzer: false })); } // 배포환경일 때 if ( ! isDevelopment && config . plugins ) { // config.plugins.push(new webpack.LoaderOptionsPlugin({ minimize: true })); // config.plugins.push(new BundleAnalyzerPlugin({ analyzerMode: 'static' })); }
- 1
- 2
- 299
질문&답변
2021.07.01
지룸ㄴ있ㅇㅅ브니다
i,j := 3,1 이면 i := 3 j := 1 이렇게 ㄷ생각하면 되는건가요 ?
- 0
- 2
- 111
질문&답변
2021.06.17
TypeError: nextCallback is not a function (next-redux-wrapper 7.0)
오우 정말 감사합니다 한참 삽질했네요
- 11
- 6
- 828
질문&답변
2021.05.23
제로초님 질문있습니다
index.js 의 내용입니다 import axios from 'axios' ; import Head from 'next/head' ; import React , { useEffect } from 'react' ; import { END } from 'redux-saga' ; import MainSection from '../components/MainSection' ; import { LOAD_PRODUCT_TYPE_REQUEST , LOAD_USER_INFO_REQUEST , } from '../reducers/action' ; import wrapper from '../store/configureStore' ; const index = () => { console . log ( 'index 페이지 들어옴' ); // useEffect(() => { // localStorage.getItem('vintage-info-user'); // }, []); return ( Head > title >폴로딩고 title > Head > { /* 섹션 */ } MainSection /> { /* 상품페이지 */ } ); }; export const getServerSideProps = wrapper . getServerSideProps ( async ( context ) => { // index js의 리듀서 구조를 바꿔야함 중첩되게 끔 axios . defaults . headers . Cookie = '' ; // 로그인을 공유하는 상황을 막기 위해서 const cookie = context . req ? context . req . headers . cookie : '' ; // console.log('쿠키 : ', cookie); // defaults 쿠기 설정 (로그인 했을 경우에만) if ( context . req && cookie ) { axios . defaults . headers . Cookie = cookie ; } context . store . dispatch ({ type : LOAD_USER_INFO_REQUEST , }); // 첫 파에지 랜딩에는 최근 등록된 상품 기준으로 보여주거나 업로드 날짜가 가장 최근인 애들을 보여줘야함 context . store . dispatch ({ type : LOAD_PRODUCT_TYPE_REQUEST , data : 'all' , }); // 위에 REQUEST가 SUCCESS로 바뀔 때 까지 기다려주는 장치임 // 공식문서에 나옴 context . store . dispatch ( END ); await context . store . sagaTask . toPromise (); // store.sagatask에서 등록해놓음(index.js에서) /// ///////////////////////////////////////////////// } ); export default index ; ////////////////////////////// MainSection.js내용입니다. import React , { useEffect , useRef } from 'react' ; import { gsap } from 'gsap' ; import { ScrollTrigger } from 'gsap/dist/ScrollTrigger' ; import { useDispatch } from 'react-redux' ; import { SectionOne , SectionTwo , SectionThree } from '../style/SectionStyle' ; import Product from './Product' ; import { ProductStyle } from '../style/ProductStyle' ; import { addPost } from '../reducers/product/productAction' ; // register ScrollTrigger gsap . registerPlugin ( ScrollTrigger ); const MainSection = () => { const dispatch = useDispatch (); const refSlide1 = useRef ( null ); const refSlide2 = useRef ( null ); const refSlide3 = useRef ( null ); const revealRef1 = useRef ( null ); const onClick = () => { dispatch ( addPost ); }; useEffect (() => { // 임시, 확인후 삭제 => 인증키가 없어서 401뜨면 cors 문제 해결된거 맞음 // axios.get('2/tweets/search/recent').then(function (response) { // console.log('응답결과', response); // }); // const sections = [refSlide1, refSlide2, refSlide3].map( // (ref) => ref.current // ); // const triggers = sections.map((panel) => { // return ScrollTrigger.create({ // trigger: panel, // start: "top top", // end: "+=50%", // pin: true, // scrub: 3, // pinSpacing: true, // }) // }) // const snap = ScrollTrigger.create({ // snap: 1 / (sections.length - 1), // }) // return function cleanup() { // triggers.map((trigger) => trigger.kill()) // snap.kill() // } }, []); useEffect (() => { const texts = [ revealRef1 ]. map (( ref ) => ref . current ); gsap . from ( refSlide1 . current , { duration : 1 , autoAlpha : 0 , ease : 'none' , delay : 0.1 , }); texts . forEach (( el ) => { gsap . fromTo ( el , { autoAlpha : 0 , }, { duration : 1 , autoAlpha : 1 , ease : 'none' , scrollTrigger : { trigger : el , start : 'top center+=100' , toggleActions : 'play none none reverse' , }, } ); }); }, []); return ( SectionOne ref = { refSlide1 } > div className = "section__image section__image--a" /> div className = "showcase_contents" > h1 >90% SALE h1 > span >세일 기간 중 교환 및 반품이 불가능합니다. span > div > SectionOne > SectionTwo ref = { refSlide2 } > div className = "showcase_contents" ref = { revealRef1 } > ul className = "main_banner_lists" > li > a href = "#" > img src = "images/main-banner-top-1.jpg" /> a > p className = "title" > span >TIE_DYE_TSHIRT span > p > p className = "summary" >다양한 타이다이 티셔츠 p > li > li > a href = "#" > img src = "images/main-banner-top-2.jpg" /> a > p className = "title" > span >HAWAIAN SHIRT span > p > p className = "summary" >하와이안 셔츠 p > li > li > a href = "#" > img src = "images/main-banner-top-3.jpg" /> a > p className = "title" > span >SWEATSHIRT span > p > p className = "summary" >스타일리쉬 트렌치 코트 p > li > li > a href = "#" > img src = "images/main-banner-1.jpg" /> a > p className = "title" > span >NEW CUSTOMERS span > p > p className = "summary" >신규회원 5% 할인 쿠폰 발급! p > li > li > a href = "#" > img src = "images/main-banner-2.jpg" /> a > p className = "title" > span >MEMBER LEVEL span > p > p className = "summary" >빈티지톡 회원등급 안내 p > li > li > a href = "#" > img src = "images/main-banner-3.jpg" /> a > p className = "title" > span >CONSIGNMENT SALES span > p > p className = "summary" >위탁판매 안내 p > li > ul > div > SectionTwo > SectionThree > div className = "container" ref = { refSlide3 } > div > h2 >PRODUCT h2 > p className = "bar" /> p className = "ment" >단 한장밖에 없는 당신만의 옷들입니다 :) p > div > a href = "#" onClick = { onClick } > 상품올리기 a > ProductStyle column = "5" > Product productType = "all" /> ProductStyle > div > SectionThree > ); }; export default MainSection ;
- 0
- 2
- 119
질문&답변
2021.04.19
formdata
해결했습니다! 제가 치명적인 실수를 했네요 저와 같은 실수를 하시는분들을 위하여 올릴게요 formData안에 내용물들이 궁금하여 console로 출력 하는 경우에는 빈객체{}가 나옵니다. 이유는, FormData는 XMLHttpRequest를 사용해 전송할 key/value와 같이 쌍을 이뤄 컴파일한 "특수한 객체"이기 때문에, 문자열로 표현할 수 없어서 빈 객체가 나옵니다. 반드시 내용물을 찍어볼 때 "for ...of "를 통하여 내부를 확인하시길 바랍니다!
- 0
- 1
- 327
질문&답변
2021.03.25
저 역시 ECONNREFUSED 에러가 생깁니다.
미쳤다 저도 이거떄문에 몇시간 날렸네요.
- 1
- 18
- 22K
질문&답변
2020.07.02
오류
감사합니다 늦은 시간에 빠른 답변주셔서 잘 해결하였습니다 !!!!
- 0
- 4
- 5.6K