자바스크립트도 css와 동일하게 인라인과 내부 외부 파일 연결을 해서 사용할 수 있다.
<button onclick="click()">버튼</button>
...
<body>
<script>
...
</script>
</body>
...
<head>
<script src="./main.js" defer></script>
</head>
-D 플래그
devDependencies vs dependencies-D
플래그를 붙여 설치하자.> npm remove eslint
, .eslintrc.js
파일을 삭제하자# eslint 설정
> npm init @eslint/config
Need to install the following packages:
@eslint/create-config@0.4.5
Ok to proceed? (y) y
# eslint 설정을 어디까지 할 것인지
? How would you like to use ESLint? …
To check syntax only
> To check syntax and find problems
To check syntax, find problems, and enforce code style # 문제를 찾고 강제 즉, 포매팅까지 할것인지
# 어느 환경에서 eslint를 사용할 것인지
? What type of modules does your project use? …
> JavaScript modules (import/export) # 브라우저 환경
CommonJS (require/exports) # node 환경
None of these
# 어느 프레임워크에서 eslint를 사용할 것인지
? Which framework does your project use? …
React
Vue.js
> None of these
# 타입스크립트를 사용할 것인지
? Does your project use TypeScript? › No
# 어느 환경에서 코드를 실행할 것인지
? Where does your code run? … (Press <space> to select, <a> to toggle all, <i> to invert selection)
✔ Browser
✔ Node
# config 파일을 어떤 형식으로 생성할 것인지
? What format do you want your config file to be in? …
> JavaScript
YAML
JSON # 파일을 json 형식을 많이 사용하지만 주석처리가 되지 않아 js형식으로
# 현재 ESLint가 설치되어 있지 않으니 설치를 할것인지
Local ESLint installation not found.
The config that you"ve selected requires the following dependencies:
eslint@latest
? Would you like to install them now? › Yes
# 어떤 패키지 매니저로 설치할 것인지
? Which package manager do you want to use? …
❯ npm
yarn
pnpm
# 최종
✔ How would you like to use ESLint? · problems
✔ What type of modules does your project use? · esm
✔ Which framework does your project use? · none
✔ Does your project use TypeScript? · No
✔ Where does your code run? · browser, node
✔ What format do you want your config file to be in? · JavaScript
✔ Would you like to install them now? · Yes
✔ Which package manager do you want to use? … · npm
"off"
또는 0
: 규칙을 사용하지 않음"warn"
또는 1
: 규칙을 경고로 사용"error"
또는 2
: 규칙을 오류로 사용const num = 10;
// num에 값을 할당했지만 한번도 사용하지 않았다는 error가 난다.
이때
// eslintrc.js 파일의 rules를 설정해주면 된다.
...
rules: {
"no-unused-vars": "off",
},
...
/* eslint-disable */
linting 하지 않을 코드
/* eslint-enable */
/* eslint no-unused-vars: 'off'*/
// no-unused-vars: 'off'만 적용하겠다.
> npm i -D prettier
.prettierrc.js
파일을 직접 생성 module.exports = {
// 화살표 함수 식 매개변수 () 생략 여부 (ex: (a) => a)
arrowParens: 'always',
// 닫는 괄호(>) 위치 설정
// ex: <div
// id="unique-id"
// class="contaienr"
// >
htmlWhitespaceSensitivity: 'css',
bracketSameLine: false,
// 객체 표기 괄호 사이 공백 추가 여부 (ex: { foo: bar })
bracketSpacing: true,
// 행폭 설정 (줄 길이가 설정 값보다 길어지면 자동 개행)
printWidth: 80,
// 산문 래핑 설정
proseWrap: 'preserve',
// 객체 속성 key 값에 인용 부호 사용 여부 (ex: { 'key': 'xkieo-xxxx' })
quoteProps: 'as-needed',
// 세미콜론(;) 사용 여부
semi: true,
// 싱글 인용 부호(') 사용 여부
singleQuote: true,
// 탭 너비 설정
tabWidth: 2,
// 객체 마지막 속성 선언 뒷 부분에 콤마 추가 여부
trailingComma: 'es5',
// 탭 사용 여부
useTabs: false,
};
eslit도 포매팅을 담당하기 때문에 prettier과 충돌 할 수 도 있다.
eslint-config-prettier
를 사용하면 eslint를 우선순위가 되어 충돌이 나지 않지만,
How would you like to use ESLint?에서
To check syntax and find problems를 선택했기 때문에 필요가 없다!
package.json의 script에 등록이 되어 있다면, npx가 아닌 npm을 사용하자.
> npm i -D live-server
> npx live-server client # client 폴더를 연다는 의미.
# host는 localhost로 하고 port번호는 5500이며 브라우저를 실행 시키지 않는다.
> npx live-server client --host=localhost --port=5500 --no-browser
package.json
에 script를 등록해 사용하자! "scripts": {
"start": "live-server client --host=localhost --port=5500 --no-browser"
},
# 예외!!! script의 start만 run을 제외하고 사용할 수 있다.
> npm run start
# 혹은
> npm start
> start
> live-server client --host=localhost --port=5500 --no-browser
Serving "client" at http://localhost:5500 (http://127.0.0.1:5500)
Ready for changes
const liveServer = require('live-server');
const params = {
port: 5500,
host: 'localhost',
root: './client',
open: false,
};
liveServer.start(params);
> node server/index.js
add-gitignore를 이용하기
> npx add-gitignore
? What environments would your .gitignore to ignore? intellij, macos, node, visualstudiocode, webstorm, windows
✅ Added .gitignore for intellij, macos, node, visualstudiocode, webstorm, windows.
줄바꿈을 한다면 세미콜론을 생략해도 되지만
대괄호[]
앞에서는 반드시 세미콜론을 붙여야 한다.