<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>活着</title><link>https://me.7-77.top/</link><description>Good Luck To You!</description><item><title>Nuxt.js初上手(含axios封装、百度统计代码、Nginx配置文件等步骤)</title><link>https://me.7-77.top/?id=4</link><description>&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;因新项目对SEO有需求，而自己也对Vue语法较为熟悉，早就在官网上看到过Nuxt.JS的简介不过一直也没有时间来折腾下。这次项目从本地运行到部署花了2天，其中有一部分坑也是摸索着才想出来，故此记录一下流程。&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;本篇文章的Axios封装部分借鉴了博客&amp;nbsp;&lt;a href=&quot;https://juejin.cn/post/7101487879402029086#heading-2&quot; target=&quot;_blank&quot; textvalue=&quot;Nuxt中Axios的封装及接口统一管理方案&quot;&gt;Nuxt中Axios的封装及接口统一管理方案&lt;/a&gt;&amp;nbsp;，虽然可以再分开将不同类型的Api分散在各个文件后通过 require.context() 去实现自动导入，不过鉴于本项目规模有限就不再往这部分折腾，有兴趣的小伙伴也可以参照另一篇博客 (https://blog.csdn.net/weixin_41852038/article/details/122115948，不过据评论反馈无法直接运行，请甄别后使用) 来实现。&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1.本地开发环境搭建&lt;br/&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;可能由于Nuxt3出来，Nuxt2项目当我用NodeJS 的V18版本运行项目时提示失败，切换到Node v16.19.1版本后正常运行。考虑到这类多版本Node共存的需求，本地主机上装个Node版本管理工具还是很有必要的。这里我就直接用朋友推荐的 &lt;a href=&quot;https://volta.sh/&quot; target=&quot;_blank&quot; title=&quot;NodeJS版本管理工具 volta&quot;&gt;Volta&lt;/a&gt;来实现，Volta的使用还算简单，有时间可以另外开一篇来讲。总之，该项目Node版本固定后暂时调用官方的脚手架创建方法来进行。&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-bash&quot;&gt;#&amp;nbsp;使用create-nuxt-app&amp;nbsp;来创建项目，提示没有该命令的可以先试用npm&amp;nbsp;i&amp;nbsp;-g&amp;nbsp;create-nuxt-app&amp;nbsp;安装项目启动包的启动包
npm&amp;nbsp;init&amp;nbsp;nuxt-app&amp;nbsp;foo-bar
#&amp;nbsp;随后是选项的方式，按需选择，我的选择如下
programming&amp;nbsp;language-&amp;nbsp;js
package&amp;nbsp;manager&amp;nbsp;-&amp;nbsp;npm
ui&amp;nbsp;framework&amp;nbsp;-&amp;nbsp;vuetify&amp;nbsp;#&amp;nbsp;或者Elementui也可
template&amp;nbsp;engine&amp;nbsp;-&amp;nbsp;html
nuxt.js&amp;nbsp;modules&amp;nbsp;-&amp;nbsp;axios
linting&amp;nbsp;tools&amp;nbsp;-&amp;nbsp;prettier
testing&amp;nbsp;framework&amp;nbsp;-&amp;nbsp;none
rendering&amp;nbsp;mode&amp;nbsp;server(nodejs&amp;nbsp;hosting)
deployment&amp;nbsp;tools&amp;nbsp;jsconfig.json
CI&amp;nbsp;none
version&amp;nbsp;control&amp;nbsp;system&amp;nbsp;-&amp;nbsp;git&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;等待包安装完，用IDE进入项目开始编辑&lt;/p&gt;&lt;h1 style=&quot;white-space: normal;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2.Axios封装&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;由于项目创建时已集成Axios，故此处基本不再需要在Nuxt配置文件中额外配置Axios。基本步骤如下&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. 项目根文件夹创立api文件夹，用于存放请求的接口 -- @/api/index.js&lt;/span&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n363&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;
&amp;nbsp;export&amp;nbsp;default&amp;nbsp;($axios)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getData:&amp;nbsp;()&amp;nbsp;=&amp;gt;&amp;nbsp;$axios.get(&amp;#39;/get_index_data&amp;#39;),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;有参数的情况
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;postData:&amp;nbsp;data&amp;nbsp;=&amp;gt;&amp;nbsp;$axios.post(&amp;#39;/get_index_data&amp;#39;,&amp;nbsp;data),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getData:&amp;nbsp;params&amp;nbsp;=&amp;gt;&amp;nbsp;$axios.get(&amp;#39;/get_index_data&amp;#39;,&amp;nbsp;{params}),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;...your&amp;nbsp;other&amp;nbsp;api&amp;nbsp;function
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如按条件获取课程
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;getCourseList:&amp;nbsp;data&amp;nbsp;=&amp;gt;&amp;nbsp;$axios.post(&amp;#39;/service/courseFront/getCourseList&amp;#39;,&amp;nbsp;data),
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-family: 微软雅黑, 宋体, Arial, Helvetica, sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: 微软雅黑, 宋体, Arial, Helvetica, sans-serif;&quot;&gt;plugins文件夹创建request.js封装api请求&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p cid=&quot;n365&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p md-focus&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0px;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n366&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;//&amp;nbsp;引入创建的index.js&amp;nbsp;api文件
&amp;nbsp;import&amp;nbsp;req&amp;nbsp;from&amp;nbsp;&amp;#39;@/api/index.js&amp;#39;
&amp;nbsp;
&amp;nbsp;export&amp;nbsp;default&amp;nbsp;function&amp;nbsp;({&amp;nbsp;$axios,&amp;nbsp;store&amp;nbsp;},&amp;nbsp;inject)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;axiosConfig($axios)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置API的域名，注意生产环境已用nginx对/api进行proxy
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;baseUrl&amp;nbsp;=&amp;nbsp;process.env.NODE_ENV&amp;nbsp;===&amp;nbsp;&amp;#39;development&amp;#39;&amp;nbsp;?&amp;nbsp;&amp;#39;http://localhost:3000/api&amp;#39;&amp;nbsp;:&amp;nbsp;`http://xxx.com/api`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$axios.setBaseURL(baseUrl)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置请求拦截
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$axios.onRequest((config)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;用于调试
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(process.env.DEBUG)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(&amp;#39;$axios.onRequest&amp;#39;,&amp;nbsp;config)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestConfig&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;baseURL:&amp;nbsp;config.baseURL,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;config.url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;config.method,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:&amp;nbsp;config.data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers:&amp;nbsp;config.headers,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params:&amp;nbsp;config.params,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.startTime&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Date().getTime()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.headers[&amp;#39;Content-Type&amp;#39;]&amp;nbsp;=&amp;nbsp;&amp;#39;application/json&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;如果需要token&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;token&amp;nbsp;=&amp;nbsp;store.state.token&amp;nbsp;||&amp;nbsp;&amp;#39;&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(token)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;config.headers.Authorization&amp;nbsp;=&amp;nbsp;`Bearer&amp;nbsp;${token}`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;config.headers.token&amp;nbsp;=&amp;nbsp;`${token}`
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;config
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;设置响应拦截
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$axios.onResponse((response)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;response.config.endTime&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Date().getTime()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;status&amp;nbsp;=&amp;nbsp;response.status
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(+status&amp;nbsp;===&amp;nbsp;200)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;打印出每个接口的响应时间，如果慢了就捶后端，让他优化！！！
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.info(response.config.url,&amp;nbsp;&amp;#39;请求时间&amp;#39;,&amp;nbsp;response.config.endTime&amp;nbsp;-&amp;nbsp;response.config.startTime&amp;nbsp;+&amp;nbsp;&amp;#39;ms&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;用于调试
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(process.env.DEBUG)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.info(&amp;#39;$axios.onResponse&amp;#39;,&amp;nbsp;response.data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;返回接口数据
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;response.data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如果请求失败的，打印出相应的错误信息，更好的修改。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;responseConfig&amp;nbsp;=&amp;nbsp;response&amp;nbsp;?&amp;nbsp;response.config&amp;nbsp;:&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.error(&amp;#39;响应拦截报错提示：&amp;nbsp;&amp;#39;,&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;responseConfig.baseURL&amp;nbsp;+&amp;nbsp;responseConfig.url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status:&amp;nbsp;response.status,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusText:&amp;nbsp;response.statusText,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;responseConfig.method,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers:&amp;nbsp;responseConfig.headers,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:&amp;nbsp;responseConfig.data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params:&amp;nbsp;responseConfig.params,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;responseData:&amp;nbsp;response.data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;axios错误处理
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$axios.onError((error)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;response&amp;nbsp;=&amp;nbsp;error.response&amp;nbsp;||&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;responseConfig&amp;nbsp;=&amp;nbsp;response.config&amp;nbsp;||&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.error(&amp;#39;$axios.onError:&amp;nbsp;&amp;#39;,&amp;nbsp;error)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.error(&amp;#39;错误处理提示&amp;nbsp;&amp;#39;,&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;responseConfig.baseURL&amp;nbsp;+&amp;nbsp;responseConfig.url,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;status:&amp;nbsp;response.status,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;statusText:&amp;nbsp;response.statusText,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;responseConfig.method,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers:&amp;nbsp;responseConfig.headers,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:&amp;nbsp;responseConfig.data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params:&amp;nbsp;responseConfig.params,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;responseData:&amp;nbsp;response.data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...requestConfig,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;最后返回$axios对象
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;$axios
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;inject(&amp;#39;req&amp;#39;,&amp;nbsp;req(axiosConfig($axios.create())))
&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.&amp;nbsp;&lt;span style=&quot;font-size: 16px;&quot;&gt;在 &lt;/span&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;nuxt.config.js&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;引入request.js文件&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n369&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;export&amp;nbsp;default&amp;nbsp;{
&amp;nbsp;&amp;nbsp;...&amp;nbsp;//&amp;nbsp;other&amp;nbsp;code
&amp;nbsp;&amp;nbsp;&amp;nbsp;plugins:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;~/plugins/request&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;配合上述/api实现本地开发时使用代理
&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Modules:&amp;nbsp;https://go.nuxtjs.dev/config-modules
&amp;nbsp;&amp;nbsp;&amp;nbsp;modules:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;https://go.nuxtjs.dev/axios
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;@nuxtjs/axios&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;@nuxtjs/proxy&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Axios&amp;nbsp;module&amp;nbsp;configuration:&amp;nbsp;https://go.nuxtjs.dev/config-axios
&amp;nbsp;&amp;nbsp;&amp;nbsp;axios:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Workaround&amp;nbsp;to&amp;nbsp;avoid&amp;nbsp;enforcing&amp;nbsp;hard-coded&amp;nbsp;localhost:3000:&amp;nbsp;https://github.com/nuxt-community/axios-module/issues/308
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;baseURL:&amp;nbsp;&amp;#39;/api&amp;#39;,&amp;nbsp;//&amp;nbsp;此处不备注掉会出现请求前实际出现2个/api，因已调用axios的封装此处不再设置baseURL
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;/api&amp;#39;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;target:&amp;nbsp;&amp;#39;http://xx.cn/api&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pathRewrite:&amp;nbsp;{&amp;nbsp;&amp;#39;^/api&amp;#39;:&amp;nbsp;&amp;#39;&amp;#39;,&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;changeOrigin:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;//&amp;nbsp;other&amp;nbsp;code
&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. &lt;span style=&quot;font-size: 16px;&quot;&gt;使用&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asyncData&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n373&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;async&amp;nbsp;asyncData({&amp;nbsp;$indexApi&amp;nbsp;})&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;res&amp;nbsp;=&amp;nbsp;await&amp;nbsp;$indexApi.getData()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;data&amp;nbsp;=&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(res.status)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;res.data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;},&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p cid=&quot;n374&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p md-focus&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;span md-inline=&quot;plain&quot; class=&quot;md-plain md-expand&quot; style=&quot;box-sizing: border-box&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;store&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n375&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;export&amp;nbsp;const&amp;nbsp;actions&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;async&amp;nbsp;getData({&amp;nbsp;commit&amp;nbsp;})&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;res&amp;nbsp;=&amp;nbsp;await&amp;nbsp;this.$indexApi.getData()
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(res.state)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;commit(&amp;#39;SET_INDEX_DATA&amp;#39;,&amp;nbsp;res.data)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;Error(res)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;p cid=&quot;n376&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;span md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n377&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;export&amp;nbsp;default&amp;nbsp;{
&amp;nbsp;&amp;nbsp;methods:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;async&amp;nbsp;getData()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;await&amp;nbsp;this.$indexApi.getData()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;code&amp;nbsp;something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;
&amp;nbsp;}&lt;/pre&gt;&lt;p cid=&quot;n378&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;以上步骤启动后，再在项目中运行基本可以了。悲催的是我在配置Axios的BaseUrl那里沿用了Vue/CLI项目的习惯，开发环境下设的BaseURL是 &amp;#39;/api&amp;#39;，结果asyncData中调用这个方法就是不成功(报错 connect ECONNREFUSED ::1:80)，而在mounted周期内是客户端调用该方法就没问题，网上直接搜这个问题没答案，但有位仁兄的想法是这个请求地址是直接使用 /api/*** 进行访问的，默认是向本机80端口发送请求，而我本地80端口没跑服务自然报错，后来反复测试把生产环境下的BaseURL设为了项目启动的地址 &lt;a href=&quot;http://localhost:3000/&quot; _src=&quot;http://localhost:3000/&quot;&gt;http://localhost:3000/&lt;/a&gt; 再去请求果然就可以了 ；生产环境中由于提前用Nginx进行了代理，因此生产环境中是正常的。&lt;/p&gt;&lt;p cid=&quot;n378&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;h1 style=&quot;box-sizing: border-box; line-height: inherit; orphans: 4; margin-top: 0.5rem; margin-bottom: 0.5rem; overflow-wrap: break-word; white-space: pre-wrap; position: relative;&quot;&gt;3.百度统计&lt;br/&gt;&lt;/h1&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p cid=&quot;n351&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p md-focus&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0px;margin-bottom: 1.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;点击跳转 &lt;a href=&quot;https://tongji.baidu.com/web5/10000437914/welcome/login&quot; target=&quot;_blank&quot;&gt;百度统计&lt;/a&gt;， 这个用来统计网站访问情况等等的还是很好用的&lt;br/&gt;&lt;/p&gt;&lt;p cid=&quot;n354&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0px;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;span md-inline=&quot;plain&quot; style=&quot;box-sizing: border-box&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. &lt;/span&gt;项目根目录的plugin文件夹内添加baidu.js&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n355&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;export&amp;nbsp;default&amp;nbsp;({app:&amp;nbsp;{router},&amp;nbsp;store})&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;每次路由变更时进行pv统计&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;router.afterEach((to,&amp;nbsp;from)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;告诉增加一个PV&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window._hmt&amp;nbsp;=&amp;nbsp;window._hmt&amp;nbsp;||&amp;nbsp;[]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window._hmt.push([&amp;#39;_trackPageview&amp;#39;,&amp;nbsp;to.fullPath])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;catch&amp;nbsp;(e)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. nuxt.config.js中添加以下配置&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n1316&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;export&amp;nbsp;default&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;head:{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;script:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;xxxx是百度统计分配的代码
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;src:&amp;nbsp;&amp;#39;https://hm.baidu.com/hm.js?xxxxxxxxx&amp;#39;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;plugins:[&amp;#39;@/plugins/baidu&amp;#39;]
&amp;nbsp;}&lt;/pre&gt;&lt;h1&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;/span&gt;4.服务器部署&lt;br/&gt;&lt;/h1&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. 服务器安装node&lt;/p&gt;&lt;p cid=&quot;n341&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p md-focus&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0px;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;此处使用CentOS7.9 进行安装，进入想要安装的目录(此处为 /usr/local/node-v16.19.1)依次运行下列程序&lt;br/&gt;&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n342&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wget&amp;nbsp;https://nodejs.org/dist/v16.19.1/node-v16.19.1-linux-x64.tar.xz
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;解压
&amp;nbsp;&amp;nbsp;&amp;nbsp;xz&amp;nbsp;-d&amp;nbsp;node-v16.19.1-linux-x64.tar.xz
&amp;nbsp;&amp;nbsp;&amp;nbsp;tar&amp;nbsp;-xvf&amp;nbsp;node-v16.19.1-linux-x64.tar
&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;进入目录
&amp;nbsp;&amp;nbsp;&amp;nbsp;cd&amp;nbsp;node-v16.19.1-linux-x64/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;创建软连接
&amp;nbsp;&amp;nbsp;&amp;nbsp;ln&amp;nbsp;-sf&amp;nbsp;/usr/local/node-v16.19.1-linux-x64/bin/node&amp;nbsp;/usr/local/bin/node
&amp;nbsp;&amp;nbsp;&amp;nbsp;ln&amp;nbsp;-sf&amp;nbsp;/usr/local/node-v16.19.1-linux-x64/bin/npm&amp;nbsp;/usr/local/bin/npm
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;测试
&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;-v
&amp;nbsp;&amp;nbsp;&amp;nbsp;npm&amp;nbsp;-v&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.安装pm2并软连接&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;命令&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s md-expand&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;find / -name pm2&lt;/code&gt;&lt;/span&gt;找到pm2安装目录(使用bin文件夹下的)，按上述node安装位置是在&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;/usr/local/node-v16.19.1-linux-x64/bin/pm2&lt;/code&gt;&lt;/span&gt;，建立软连接&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s md-expand&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;ln -s /usr/local/node-v16.19.1-linux-x64/bin/pm2 /usr/local/bin&lt;/code&gt;&lt;/span&gt;&lt;code&gt;，&lt;span style=&quot;font-family: 微软雅黑, &amp;quot;Microsoft YaHei&amp;quot;;&quot;&gt;为避免日志问题可安装pm2插件进行日志分割&lt;/span&gt;&lt;/code&gt;&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;&lt;code&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px; color: rgb(184, 191, 198); orphans: 4; white-space: pre-wrap;&quot;&gt;pm2 install pm2-logrotate&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. 项目打包&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;项目打包 &lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;npm run build&lt;/code&gt;&lt;/span&gt;，随后将&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;.nuxt目录&lt;/code&gt;&lt;/span&gt;&lt;span md-inline=&quot;plain&quot; class=&quot;md-plain&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;、&lt;/span&gt;&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;static&lt;/code&gt;&lt;/span&gt;&lt;span md-inline=&quot;plain&quot; class=&quot;md-plain&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;目录、&lt;/span&gt;&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;nuxt.config.js&lt;/code&gt;&lt;/span&gt;&lt;span md-inline=&quot;plain&quot; class=&quot;md-plain&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;、&lt;/span&gt;&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;package.json&lt;/code&gt;&lt;/span&gt;复制进项目在服务器上的文件夹&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;/usr/share/nginx/html/nuxt.xx.cn/&lt;/code&gt;&lt;/span&gt;&lt;span md-inline=&quot;plain&quot; class=&quot;md-plain&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;，&lt;/span&gt;执行&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;npm i&lt;/code&gt;&lt;/span&gt;安装依赖&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4. 项目运行&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修改该站点nginx配置文件(主要是配置反代)&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;/etc/nginx/conf.d/nuxt.xx.cn.conf&lt;/code&gt;&lt;/span&gt;文件，同项目中的该文件，项目使用pm2启动，过程为进入项目根目录&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;/usr/share/nginx/html/nuxt.xxx.cn/&lt;/code&gt;&lt;/span&gt;，按照官网在此处添加pm2启动文件&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;ecosystem.config.js&lt;/code&gt;&lt;/span&gt;，随后在此处运行&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;pm2 start&lt;/code&gt;&lt;/span&gt;即可启动项目，项目日志可通过网站&lt;span md-inline=&quot;code&quot; spellcheck=&quot;false&quot; class=&quot;md-pair-s&quot; style=&quot;box-sizing: border-box; color: #B8BFC6; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Segoe UI Emoji&amp;quot;, sans-serif; font-size: 16px; orphans: 4; white-space: pre-wrap; background-color: #363B40;&quot;&gt;&lt;code style=&quot;box-sizing: border-box; font-family: Monaco, Consolas, &amp;quot;Andale Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, monospace; vertical-align: initial; font-size: 0.875em; background: rgba(0, 0, 0, 0.05); padding: 2px 5px;&quot;&gt;app.pm2.io&lt;/code&gt;&lt;/span&gt;在线获取&lt;/p&gt;&lt;p&gt;ecosystem.config.js&lt;/p&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n1342&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-javascript&quot;&gt;&amp;nbsp;//&amp;nbsp;ecosystem.config.js
&amp;nbsp;module.exports&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;apps:&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;name:&amp;nbsp;&amp;#39;vue_nuxt&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;exec_mode:&amp;nbsp;&amp;#39;cluster&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;instances:&amp;nbsp;&amp;#39;max&amp;#39;,&amp;nbsp;//&amp;nbsp;Or&amp;nbsp;a&amp;nbsp;number&amp;nbsp;of&amp;nbsp;instances
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;script:&amp;nbsp;&amp;#39;./node_modules/nuxt/bin/nuxt.js&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;args:&amp;nbsp;&amp;#39;start&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;]
&amp;nbsp;}&lt;/pre&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n1340&quot; mdtype=&quot;fences&quot;&gt;&lt;p&gt;&amp;nbsp;Nginx配置文件&lt;br/&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;&lt;pre spellcheck=&quot;false&quot; cid=&quot;n1340&quot; mdtype=&quot;fences&quot; class=&quot;prism-highlight prism-language-basic&quot;&gt;upstream&amp;nbsp;nodenuxt&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;server&amp;nbsp;127.0.0.1:3000;&amp;nbsp;#nuxt项目&amp;nbsp;监听端口
&amp;nbsp;&amp;nbsp;&amp;nbsp;keepalive&amp;nbsp;64;
&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;server
&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;80;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;listen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[::]:80;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server_name&amp;nbsp;&amp;nbsp;nuxt.xxx.cn;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;index&amp;nbsp;index.php&amp;nbsp;index.html&amp;nbsp;index.htm&amp;nbsp;default.php&amp;nbsp;default.htm&amp;nbsp;default.html;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;root&amp;nbsp;/usr/share/nginx/html/nuxt.xxx.cn/.nuxt/dist;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip&amp;nbsp;on;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip_min_length&amp;nbsp;1k;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip_comp_level&amp;nbsp;5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip_types&amp;nbsp;text/plain&amp;nbsp;application/javascript&amp;nbsp;application/x-javascript&amp;nbsp;text/javascript&amp;nbsp;text/xml&amp;nbsp;text/css;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip_disable&amp;nbsp;&amp;quot;MSIE&amp;nbsp;[1-6]\.&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gzip_vary&amp;nbsp;on;
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;/&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;root&amp;nbsp;/usr/share/nginx/html/nuxt.xx.cn/.nuxt/dist/;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;try_files&amp;nbsp;$uri&amp;nbsp;$uri/&amp;nbsp;/index.html;&amp;nbsp;#https://v3.router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;index&amp;nbsp;&amp;nbsp;index.html&amp;nbsp;index.htm;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_http_version&amp;nbsp;1.1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_set_header&amp;nbsp;Upgrade&amp;nbsp;$http_upgrade;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_set_header&amp;nbsp;Connection&amp;nbsp;&amp;quot;upgrade&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_set_header&amp;nbsp;Host&amp;nbsp;$host;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_set_header&amp;nbsp;X-Nginx-Proxy&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_cache_bypass&amp;nbsp;$http_upgrade;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_pass&amp;nbsp;http://nodenuxt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;代理解决跨域
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;/api/&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_pass&amp;nbsp;http://xx.cn:8100/;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proxy_redirect&amp;nbsp;default;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;#&amp;nbsp;Load&amp;nbsp;configuration&amp;nbsp;files&amp;nbsp;for&amp;nbsp;the&amp;nbsp;default&amp;nbsp;server&amp;nbsp;block.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;include&amp;nbsp;/etc/nginx/default.d/*.conf;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_page&amp;nbsp;404&amp;nbsp;/404.html;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;=&amp;nbsp;/404.html&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_page&amp;nbsp;500&amp;nbsp;502&amp;nbsp;503&amp;nbsp;504&amp;nbsp;/50x.html;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;location&amp;nbsp;=&amp;nbsp;/50x.html&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;}&lt;/pre&gt;&lt;p cid=&quot;n1343&quot; mdtype=&quot;paragraph&quot; class=&quot;md-end-block md-p&quot; style=&quot;box-sizing: border-box;line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;overflow-wrap: break-word;white-space: pre-wrap;position: relative&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;以上，一个基础的Nuxt框架就搭好了，其他Nuxt开发注意事项可以访问&lt;a href=&quot;https://nuxtjs.org/docs&quot; target=&quot;_blank&quot;&gt;Nuxt官方文档&lt;/a&gt;。若有什么问题欢迎各位留言，我看到将会尽力解答。&lt;br/&gt;&lt;/p&gt;&lt;p style=&quot;text-align: right;&quot;&gt;——一个初级前端&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 23 Feb 2023 15:56:35 +0800</pubDate></item><item><title>新起点</title><link>https://me.7-77.top/?id=3</link><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;不知何时起，没有发朋友圈的欲望，没有玩新游戏的欲望，也没有换新电子设备的欲望。但我却觉得，总得留下点什么，不为他人观摩也为自己品鉴。恰巧看到z-blog建的站，也就在此处创建一个私域空间尝试记录吧。&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Feb 2023 13:21:51 +0800</pubDate></item></channel></rss>