NuxtJ는 동적 웹 사이트에서 생성됩니까?
NuxtJs로 간단한 데모 앱을 만들고 있습니다.홈페이지는 자주 변경되지 않는 정적 콘텐츠를 보여줍니다.사용자 목록을 표시하는 다른 경로가 있습니다./users
사용자 세부사항 표시용:/user/id
.
자, 이제 제 질문은 이 두가지가nuxt generate
그리고.nuxt build
어떤 것을 사용하면 좋을까요?
생각합니다nuxt generate
페이지는 다음과 같은 동적 경로를 렌더링하지 않습니다.users
그리고.user/id
,내 말이 맞니?내 말이 맞다면generate
명령어는 홈페이지 전용으로 사전 렌더링된HTML 을 생성합니다.그래서 사용하다generate
사용하는 것보다 항상 낫다build
그렇죠?
인universal
모드,nuxt generate
는 정적 사이트 생성용입니다. nuxt build
SSR 사이트용입니다.
2.13.0에서는
Nuxt
도입했습니다.target: static
꼭 확인해 주세요.
정적 사이트는 최고의 성능을 제공하며 nginx 또는 다음과 같은 다른 서비스에 쉽게 배치할 수 있습니다.Netlify
.
디폴트로는nuxt generate
정적 홈 페이지만 렌더링하고/users
페이지, 다이내믹이 아닌/user/:id
경로.
단, 다이내믹루트를 생성하기 위해 nuxt를 설정할 수 있습니다.
고정 사용자 세트가 있는 경우 함수를 사용하여 경로를 생성할 수 있습니다.
사용자 데이터가 항상 변경되는 경우 다이내믹루트 상의 SPA에 폴백하도록 nuxt를 설정할 수 있습니다.단, 다이내믹루트에서는 SEO의 이점을 얻을 수 없습니다.
SPA 폴백의 경우 생성 설정에서 SPA 폴백 커스텀페이지를 정의합니다.
export default {
generate: {
fallback: "custom_sap_fallbackpage.html"
}
}
예를 들어 Nginx의 경우 전개 내 알 수 없는 루트의 폴백페이지를 설정합니다.
location / {
try_files $uri /custom_sap_fallbackpage.html;
}
nuxt build
SSR 사이트를 구축합니다.html은 서버에서 렌더링되어 클라이언트로 전송됩니다.서버에 부하가 걸리기 때문에 도입이 쉽지 않을 수 있지만 가장 큰 장점은 SEO입니다.또한 로우엔드 디바이스 또는 인터넷 접속이 느린 일부 사용자에게는 SPA 모드로 디플로이하는 것보다 사이트의 퍼포먼스가 더 좋을 수 있습니다.
기본적으로 다음 사항을 고려해야 합니다.
- 웹 사이트의 내용이 정적인가, 계속 변화하는가.
nuxt generate
스태틱의 경우. nuxt generate
또는nuxt build
또는spa
동적 루트를 가진 사이트에는 다이내믹루트를 사용합니다.
- SEO 필요하세요?
SPA는 SEO를 수신할 수 없습니다.
- 사이트 전개 방법
스태틱 호스팅 서비스의 경우만nuxt generate
또는spa
모드는 동작합니다.
- 당신의 웹사이트는 js코드로 무겁고 느린 인터넷과 느린 장치를 가진 사용자에게 최고의 성능을 원합니다.또는 다이내믹한 콘텐츠가 많은 사이트에서는 SEO가 중요합니다.
SSR is for you, use nuxt build
.
There are three different deployment and generation options in Nuxt.
Universal Mode
In this mode you build your project and then you ship it to a node.js server, the first view is always rendered dynamically on the server and then turns into SPA, and works in the client. That's great for SEO, and for consuming API's but you cannot upload it to any hosting, for example on a shared VPS.
So - Node.js Host is required here.
SPA
Well basically how Vue.js works by default, virtually no SEO at all, you can upload it on a shared VPS hosting, because it's just an index.html and build.js file and it's working entirely on the client-side (in the browser).
We can go for a static hosting here.
Static App
This is where Nuxt.js shines, because this mode will generate an index.html file and the corresponding js/css assets for each route you have in the dist folder, and you can then just take those numerous files, and upload them to any hosting, you don't need a server here, because your first views are already pre-rendered, unlike Universal where the node server should pre-render the first view. So you get SSR here, and your main concert as far as I understand is if you get SPA too, and that's the best part as in Universal mode, after the first request the app continues in SPA mode, how great is that eh?
Anyways there are some things you should take into consideration, that if you want to generate index.html for dynamic content you need to make something that's kinda a mood killer. You need to add this to nuxt-config.js
generate: {
routes: () => {
return [
'/posts/1'
]
}
}
You can also use axios to make http request and return array here. Or even export default array from a file and include it here, where you combine all your dynamic routes. It's a one time job, but if you add new crud in your backend, that would add up 1 more request to run on executing nuxt generate that should be described in nuxt-config.
So that's the reason I would prefer to pay more for a server, but to host a Universal App, instead static generated, because that's the part that doesn't make it really great for consuming API's in my personal opinion, but it is a great future anyways.
웹 사이트를 자주 업데이트 할 경우 다음을 사용하여 빌드를 사용할 필요가 없습니다.npm generate
웹 사이트 정적으로 빠르게 로드하고 검색 엔진과 SEO를 보다 안전하게 사용할 수 있습니다.또한 프로젝트에 데이터가 있는 경우 NuxtJs는 데이터베이스에서 모든 데이터를 다운로드하여 .json 파일로 데이터를 정적으로 변경합니다.
웹사이트가 데이터베이스에서 데이터를 로드하는 경우 반드시 사용해야 합니다.npm build
데이터베이스에서 동적으로 데이터를 로드합니다.클라이언트 측 렌더링을 사용하지 않고 한 페이지에 대해 모드 "유니버설"을 사용하거나nuxt.config.js
클라이언트측 렌더링을 실시합니다.
동적 라우팅에 사용npm build
데이터베이스로부터의 루트 파라미터를 변경합니다.
언급URL : https://stackoverflow.com/questions/57651428/nuxtjs-generate-for-dynamic-websites
'programing' 카테고리의 다른 글
VueJS2: 어레이에 특정 요소가 포함되어 있는지 확인하는 방법 (0) | 2022.08.12 |
---|---|
/proc/self/exe가 없는 현재 실행 파일의 경로 찾기 (0) | 2022.08.12 |
Vue.js 사용자 지정 이벤트의 이름 (0) | 2022.08.11 |
C에서는 문자열 상수를 어떻게 선언합니까? (0) | 2022.08.11 |
vuex-persisted state를 사용한 영구 상태: 다른 탭의 상태를 변환해도 첫 번째 탭의 저장 상태가 업데이트되지 않음 (0) | 2022.08.11 |