Nuxt 部署(源代码去掉css,window.__NUXT__数据,图片base64,端口)

1. 本地打包

npm run build

2.打包后,将以下文件上传至服务器

.nuxt
static
nuxt.config.js
package.json

3.在服务器上安装相应依赖

cd nuxtSSR
npm install

4.Nginx配置代理服务

# 新建一个nuxtserver服务
upstream nuxtserver{
        server 127.0.0.1:3000;
        keepalive 64;
 }
 server {
 		listen	8080;
 		server_name		www.mysite.com;  #这里对应你服务器的域名
 		location / {
				proxy_pass		http://nuxtserver;  #这里对应上面upstream中新建的服务名
				index		index.html	index.htm;
		}
 }

5.pm2启动nuxt项目服务

pm2 start npm --name "nuxtSSR" -- run start

注意:这里的name对应的是package.json中的项目名称
查看进程:pm2 list

6.最后访问

在上面nginx的配置中,代理了8080端口的访问,所以这里通过http://mysite.com:8080来进行访问。

问题点:

1.查看源代码:去掉css

只需要在nuxt.config.js中加一行代码就好啦,加在build下面
build: {
extractCSS: { allChunks: true }
}

2.去掉源代码中的数据 :window.NUXT
node_modules/@nuxt/vue-renderer/dist/vue-renderer.js

Nuxt 部署(源代码去掉css,window.__NUXT__数据,图片base64,端口)_第1张图片


// 注释代码
APP += ``;

// 注释代码
hash.update(serializedSession);
 cspScriptSrcHashes.push(`'${csp.hashAlgorithm}-${hash.digest('base64')}'`);
3.vue图片不转base64(10k一下图片自动转base64)

vue-cli :不进行 webpack编译
好处:带来了更快的渲染,不会因为页面切换时还有加载图片的延迟感。

坏处:打包后的CSS,JS文件非常大,特别是图片数量多的情况下,这个问题尤为明显。

修改文件:/build/webpack.base.conf.js
limit:10000 改为1(0无效)

Nuxt 部署(源代码去掉css,window.__NUXT__数据,图片base64,端口)_第2张图片
nuxt:将静态资源文件放在static目录

Nuxt 部署(源代码去掉css,window.__NUXT__数据,图片base64,端口)_第3张图片

参考:https://blog.csdn.net/Sophie_U/article/details/86690053

4.nuxt 修改端口

在nuxt.config.js

export default {
  server: {
    port: 8000, // default: 3000
    host: '0.0.0.0', // default: localhost
  },
  // other configs
}
5.nuxt 中处理不支持ssr渲染的组件
  1. document is not defined
  2. window is not defined

https://github.com/nuxt/docs/blob/053ede15acc9cd5d109004ee5479b0e0626bf2c8/zh/api/components-no-ssr.md
client-only:组件(nuxt3)

Nuxt 部署(源代码去掉css,window.__NUXT__数据,图片base64,端口)_第4张图片

你可能感兴趣的:(Vue,前端)