Nuxt - ChoDragon9/posts GitHub Wiki
์ ๋ฆฌ
๋ฉ๋ชจ
// nuxt.config.js
build: {
...
extractCSS: true,
optimization: {
splitChunks: {
chunks: 'all',
automaticNameDelimiter: '.',
name: true,
cacheGroups: {}
}
},
splitChunks: {
layouts: true
}
},
- Nuxt webpack-bundle-analyzer: https://nuxtjs.org/api/configuration-build/#analyze
- webpack external
- ํ์์์ ํ
์คํธ
- ์๋ฒ ์๋ต ํ์์์: Nuxt Proxy์์
option.timeout
์ 100
๋ก ์ค์ ํด์ ํ์ธ
- ํด๋ผ์ด์ธํธ ์์ฒญ ํ์์์:
$axios.create({timeout: 100})
๋ก ํ์ธ
- ์ธ๋ถ ์ ๊ทผ ์ค์ :
nuxt.config.ts
์์ server:{host: '0.0.0.0'}
- IE ์์๋ Listening on ๋์ค๋ ์ฃผ์๋ก ์ ๊ทผํ์ง ์์ผ๋ฉด ์๋ ์ฃผ์๋ก ๋์ด
- ์๋ฌ ํ์ด์ง ์ฒ๋ฆฌ
/layouts/error.vue
์ปดํฌ๋ํธ๋ก ์ฒ๋ฆฌ
- props๋ก
error
ํ๋กํผํฐ๊ฐ ์ ๋ฌ๋จ
error
๋ {message: string, statusCode: number}
ํํ์
- Context.error ํจ์๋ฅผ ํตํด ์๋ฌ ํ์ด์ง๋ก ์ด๋ ์ํฌ ์ ์์
- Nuxt Upgrade
- Nuxt Proxy
- Nuxt๋
- Nuxt ํด๋๊ตฌ์กฐ
- Vue ESLint
plugin:vue/recommended
๊ธฐ๋ณธ๋ฃฐ๋ง ์ฌ์ฉํ ํ์์์ด, eslint-plugin-vue์ ๊ฐ๋ ฅํ ๋ฃฐ์ด ๋ง์
- Vuex
- ์ปค์คํ
- nuxt v2.11 ๊ธฐ์ค
- nuxt v2.0 ๊ธฐ์ค
- Vuex State์ postfix ์ฌ์ฉ
- Smooth Scroll
const SCROLL_TO_OPTION: ScrollToOptions = {
top: 0,
behavior: 'smooth'
}
window.scrollTo(SCROLL_TO_OPTION)
- Vuex ๋ค๋ฅธ ๋ชจ๋ Action ์ฌ์ฉ
dispatch('auth/action', {...}, { root: true })
- @nuxt/typescript-build
- ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋น๋ ์ lint ์ฒดํฌ ์๋๋๋ก ์ฒ๋ฆฌ
buildModules: [
[
'@nuxt/typescript-build',
{
typeCheck: {
eslint: IS_LOCAL
},
ignoreNotFoundWarnings: true
}
]
],
error.vue
, default.vue
CSS ์์ ํ์ธ