Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 什么';这是target:&x27;静态';和目标:';服务器';在Nuxt 2.14通用模式下?_Vue.js_Static_Nuxt.js_Netlify_Jamstack - Fatal编程技术网

Vue.js 什么';这是target:&x27;静态';和目标:';服务器';在Nuxt 2.14通用模式下?

Vue.js 什么';这是target:&x27;静态';和目标:';服务器';在Nuxt 2.14通用模式下?,vue.js,static,nuxt.js,netlify,jamstack,Vue.js,Static,Nuxt.js,Netlify,Jamstack,在最新版本的Nuxt(2.14)中,他们引入了一种优化方法,用于在不更改代码的情况下构建应用程序(大幅提高构建时间) 我在jamstack中创建网站,使用numxt generate在netlify上部署,直到现在,还使用target:'server'。我尝试了新的target:“static”以利用这一新功能,但我的代码不会生成,因为在这种模式下,应用程序似乎无法访问this.$route以生成动态页面 所以,我的问题是:这两者有何不同?当我将目标切换到我必须注意的事项时?更新: 根据调查结果

在最新版本的Nuxt(2.14)中,他们引入了一种优化方法,用于在不更改代码的情况下构建应用程序(大幅提高构建时间)

我在jamstack中创建网站,使用
numxt generate
在netlify上部署,直到现在,还使用
target:'server'
。我尝试了新的
target:“static”
以利用这一新功能,但我的代码不会生成,因为在这种模式下,应用程序似乎无法访问
this.$route
以生成动态页面


所以,我的问题是:这两者有何不同?当我将目标切换到我必须注意的事项时?

更新:

根据调查结果,
模式:“通用”模式和
模式:“spa”模式被弃用,取而代之的是
ssr:true
ssr:false

完全静态仅适用于
目标:'static'
ssr:true
(不推荐使用的
模式的对应项:'universal'
)。
ssr:true
是默认值。
ssr:false
是不推荐使用的
模式:“spa”
的对应项,不能与
目标:“static”
一起使用。

原始答案:

目标 将
target
属性视为一个托管环境可能会有所帮助——无论您需要服务器还是CDN提供的静态文件都足以满足您的场景。尽管它被称为
target:“server”
但这并不意味着你的应用程序是服务器端呈现的(请参见下面的
模式)

在生产环境中使用
static
目标时,您只需要一个将为静态文件提供服务的CDN。这些静态文件是在构建时准备的,并且是“最终”的(直到下一个具有更新内容或代码的构建)。在这种情况下,不需要任何服务器(CND和构建服务器除外,它们可能会在您的CI管道中)

目标与模式 另一方面,当使用
服务器
目标时,您的生产应用程序将需要一个服务器环境,在该环境中,客户端请求的响应将被合成并发送。这意味着有了更新的内容,就不需要重新构建应用程序。此内容是在请求服务器后编写的。这适用于-
universal
spa
模式。使用
universal
模式,您的应用程序将在服务器端呈现。相比之下,与
spa
模式相比,没有服务器端呈现(只有客户端导航),整个应用程序作为单页应用程序运行

服务器与静态目标 对于新手来说,决定使用服务器端渲染还是静态渲染可能有点棘手。一个可能有助于您做出决策的好问题是,您是否需要为每个页面/文档/内容项提供不同的内容,以适应不同的用户/环境。如果是这样,您可能应该使用目标
服务器
,否则
静态

每种方法都有其优缺点,如服务器需求、安全性、速度、CI管道/构建过程、SEO、价格等。正确的选择取决于您的用例

正如您正确提到的,从版本
2.13
中有两个可用的部署目标。这些是
server
static

旧的方法有一些问题和困难,主要是客户端通过
asyncData
fetch
函数请求API来进行导航。因此,生成的站点不是纯粹的静态站点。描述了旧方法的所有缺点

使用新的
static
target(同时使用强制
universal
模式)方法,
numxt generate
命令将预呈现所有HTML页面并模拟异步数据请求。这次,旧的
asyncData
fetch
没有向客户端请求API。这已在构建期间执行

关于路线。nuxt的爬虫程序可能没有自动检测到提到的路由,您应该使用
generate.routes
属性手动生成它们

从“axios”导入axios
导出默认值{
生成:{
路线(){
返回axios.get('https://my-api/users)。然后(res=>{
返回res.data.map(用户=>{
返回“/users/”+user.id
})
})
}
}
}

嘿!我找到你的文章了!除息的