让vue-cli初始化后的项目集成支持SSR 2

该文章讲的还是关于vue查看源代码的问题,目的是用于渲染页面是vue页面能够看到源代码

上一篇文章使用的服务端渲染方法有点瑕疵,那就是项目打包以后并不能看到index.html,想要项目正常运行需要把整个项目文件夹放上去,而不是把dist里面的文件放上去就可以了。

所以这里跟大家介绍另一种方法,这种方法同样需要服务端来配合,

服务端配置可以参考如下链接

https://router.vuejs.org/zh-cn/essentials/history-mode.html

https://segmentfault.com/q/1010000006177894/a-1020000006619306

除此以外前端也需要配置一些东西

可以参考:https://www.npmjs.com/package/prerender-spa-plugin

其中的webpack.config.js其实就是webpack.base.config.js和 webpack.dev.config.js和 webpack.prod.config.js集合,我们主需要在 和 webpack.prod.config.js里面写入就可以了

//引入
const PrerenderSpaPlugin = require( 'prerender-spa-plugin')

//配置所需渲染的路由路径
new PrerenderSpaPlugin(
//将渲染的文件放到dist目录下
path. join( __dirname, '../dist'),
//需要预渲染的路由信息
[ '/', '/index', '/page1', '/page2', '/page3', '/page4', '/page5', '/page6'],
// [ '/'],
{
//在一定时间后再捕获页面信息,使得页面数据信息加载完成
captureAfterTime: 50000,
//忽略打包错误
ignoreJSErrors: true,
phantomOptions: '--web-security=false',
maxAttempts: 10,
}
),

然后config/index.js 中build 里面的assetsPublicPath最好改为绝对路径,避免出错

build: {
    //.......
assetsPublicPath: 'http://www.xxxxx.com/xxxxx/',
}

路由的 index.js 文件开启 history模式,并加上路径

export default new Router({
mode: 'history',
base: '/xxxxx/',//这里的路径注意和上面conig/index.js 中 build 的 assetsPublicPath保持一致
routes: [
{ path: '/index', name: 'index', component:index},
{ path: '/page1', name: 'page1', component:page1},
{ path: '/page2', name: 'page2', component:page2},
    //......
]
})


万事俱备准备打包,如果之前没有装过prerender 可能会提示找不到module ,

需要install一下npm install --save prerender-spa-plugin


打包上传测试


Note:如果碰到打开页面后刷新页面就崩掉变为空白的问题,那是后台配置设置的问题,具体操作百度一下



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Vue2项目打包并上线,可以按照以下详细流程进行操作: 1. 使用vue-cli创建Vue项目。可以使用以下命令创建一个新的Vue项目:`vue create 项目名称`。这将使用vue-cli提供的模板和配置初始化一个Vue项目。 2. 进入项目目录并安装vue服务端渲染插件vue-server-renderer。可以使用以下命令安装插件:`npm install vue-server-renderer`。 3. 在项目的public目录下创建index.temp.html文件。这个文件将作为在服务端渲染时生成的HTML页面的容器。可以在该文件中定义HTML的基本结构,例如DOCTYPE声明、head标签和body标签等。示例代码如下所示: ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>vue ssr</title> </head> <body> <!--vue-ssr-outlet--> </body> </html> ``` 4. 创建一个Node.js web服务器来托管Vue应用程序。你可以使用你喜欢的Node.js框架或工具,例如Express.js或Koa.js来创建一个服务器。在服务器的路由配置中,需要引入并使用vue-server-renderer插件来实现服务端渲染。 以上是将Vue2项目打包并上线的详细流程。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue2-ssrvue-cli搭建项目改造服务端渲染+打包上线部署](https://blog.csdn.net/m0_60845208/article/details/124247159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值