본문 바로가기

web17

babel, change ternary to If-else statements var babel = require("@babel/core"); // 삼항연산자를 if문으로 수정 var ternaryTemplate = babel.template(` (function() { if (TEST) { return CONSEQUENT; } return ALTERNATE; })(); `); var custom1 = function ({ types: t }) { return { visitor: { ConditionalExpression(path) { try { path.replaceWith( ternaryTemplate({ TEST: path.node.test, CONSEQUENT: path.node.consequent, ALTERNATE: path.node.alternate, }) ); } c.. 2022. 11. 29.
babel, add curly braces in arrow function var babel = require("@babel/core"); var custom1 = function ({ types: t }) { return { visitor: { ArrowFunctionExpression(path) { try { if (path.node.body.type !== 'BlockStatement') { var argument = path.node.body; var body = t.returnStatement(argument); var body2 = t.blockStatement([body]); path.replaceWith( // replace를 하면 다시 ArrowFunctionExpression 이벤트 발생. t.arrowFunctionExpression(path.node.par.. 2022. 11. 29.
babel, add curly braces one-line if-statements var babel = require("@babel/core"); // if문에 add curly-brace (one line) var custom1 = function ({ types: t }) { return { visitor: { // if, else if IfStatement(path) { if (path.node.consequent.type !== 'BlockStatement') { var consequent = t.blockStatement([path.node.consequent]); path.replaceWith( t.ifStatement(path.node.test, consequent, path.node.alternate) ); } }, // else ExpressionStatement(pa.. 2022. 11. 29.
babel, remove comments var babel = require("@babel/core"); var sourceCode = ` var name = 'ysh'; /* comment1 */ /** * comment2 */ // comment 3 var dept = 'dev'; `; // 주석 제거 var parsedAst = babel.parseSync(sourceCode, { parserOpts: { attachComment: false }, }); sourceCode = babel.transformFromAstSync(parsedAst, sourceCode, { }).code; console.log(sourceCode); // 결과 // var name = 'ysh'; // var dept = 'dev'; 2022. 11. 29.
브라우저 탭 2개 스크롤 동기화 (웨일, 크롬 브라우저) 웨일 브라우저는 듀얼탭을 지원하지만 탭 2개의 스크롤 동기화는 지원하지 않는다. 사람들이 질문은 하던데... https://forum.whale.naver.com/topic/38190/ 듀얼탭 동시 스크롤 기능 추가해주세요! 데스크탑에서 듀얼탭 사용시 동시 스크롤 기능이 있었으면 좋겠습니다. 이 의견을 내게된 이유는 번역기능을 사용하여 영문 사이트를 볼때 번역부분이 자연스럽지 않는 부분도 있어서 번역 하 forum.whale.naver.com https://forum.whale.naver.com/topic/46008/?tab=comments#comment-109077 듀얼탭 스크롤 듀얼탭에서 두 페이지 사이에 마우스커서 올려서 - 커서일때 마우스휠 위아래 동작에 두 페이지가 동시에 스크롤 되었으면 합니다.. 2022. 10. 6.
simple express npm i express cors 1. 기본 const express = require('express'); var cors = require('cors'); const app = express(); const port = 3000; app.use(cors()); app.use(express.json({ limit: "50mb" })); app.use(express.urlencoded({ limit: "50mb", extended: false })); app.get('/*', (req, res) => { console.log('---------get---------'); console.log('req.url', req.url); console.log('req.query', req.query); res.s.. 2021. 9. 26.
빠르게 aws s3 세팅 s3 업로드 테스트를 위해서 세팅 1. 버킷 만들기 버킷 이름 AWS 리전 모든 퍼블릭 엑세스 차단 (체크 비활성화) 2. 버킷 상세 설정 [속성] 탭 "정적 웹 사이트 호스팅" 설정 [권한] 탭 버킷 정책 { "Id": "Policy1631175815016", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1631175814021", "Action": "s3:*", "Effect": "Allow", "Resource": "arn:aws:s3:::버킷명/*", "Principal": "*" } ] } IAM으로 사용자 추가 사용자 세부 정보 설정 사용자 이름 AWS 액세스 유형 선택 AWS 자격 증명 유형 선택: 액세스 키 – 프로그래밍 방식 액세스 권한.. 2021. 9. 10.
lerna test # lerna 시작 npx lerna init # 패키지1 생성 npx lerna create test1 # 패키지2 생성 npx lerna create test2 # ignore 로 설정된 package 를 제외한 모든 package 의 npm install 을 실행한다. lerna bootstrap --hoist # 모든 package 의 node_modules 를 삭제하고, lerna bootstrap 다시 설치할 수 있다. lerna clean # 모든 package 에 설정된 devDependencies 을 root devDependencies 으로 옮긴다. # 그리고, dependencies 에 package 를 file:packages/package-1 형태로 연결한다. lerna link .. 2021. 6. 13.