怎么搭建ssr服务器 ssr一键搭建脚本最新(2)
怎么搭建ssr服务器
2、entry-server.js
// entry-server.jsimport { createApp } from "./main";export default context => { // 因为有可能会是异步路由钩子函数或组件,所以我们将返回一个 Promise, // 以便服务器能够等待所有的内容在渲染前, // 就已经准备就绪。 return new Promise((resolve, reject) => { const { app, router } = createApp(); // 设置服务器端 router 的位置 router.push(context.url); // 等到 router 将可能的异步组件和钩子函数解析完 router.onReady(() => { const matchedComponents = router.getMatchedComponents(); // 匹配不到的路由,执行 reject 函数,并返回 404 if (!matchedComponents.length) { return reject({ code: 404 }); } // Promise 应该 resolve 应用程序实例,以便它可以渲染 resolve(app); }, reject); });};
在根目录下新建webpack配置文件,vue-cli3+对webpack的配置,已经转移到根目录下的vue.config.js文件内。
所以需要在根目录下新建一个 vue.config.js文件。
// vue.config.jsconst VueSSRServerPlugin = require("vue-server-renderer/server-plugin");const VueSSRClientPlugin = require("vue-server-renderer/client-plugin");const nodeExternals = require("webpack-node-externals");const merge = require("lodash.merge");const TARGET_NODE = process.env.WEBPACK_TARGET === "node";const target = TARGET_NODE ? "server" : "client";module.exports = { css: { extract: false }, configureWebpack: () => ({ // 将 entry 指向应用程序的 server / client 文件 entry: `./src/entry-${target}.js`, // 对 bundle renderer 提供 source map 支持 devtool: 'source-map', target: TARGET_NODE ? "node" : "web", node: TARGET_NODE ? undefined : false, output: { libraryTarget: TARGET_NODE ? "commonjs2" : undefined }, // https://webpack.js.org/configuration/externals/#function // https://github.com/liady/webpack-node-externals // 外置化应用程序依赖模块。可以使服务器构建速度更快, // 并生成较小的 bundle 文件。 externals: TARGET_NODE ? nodeExternals({ // 不要外置化 webpack 需要处理的依赖模块。 // 你可以在这里添加更多的文件类型。例如,未处理 *.vue 原始文件, // 你还应该将修改 `global`(例如 polyfill)的依赖模块列入白名单 whitelist: [/\.css$/] }) : undefined, optimization: { splitChunks: false // 这里设置为false,不然会一直build 不成功 }, plugins: [TARGET_NODE ? new VueSSRServerPlugin() : new VueSSRClientPlugin()] }), chainWebpack: config => { config.module .rule("vue") .use("vue-loader") .tap(options => { merge(options, { optimizeSSR: false }); }); }};
相关阅读
-
如何做公司网页 新公司网站建立步骤
为关注IT袋网的网友们详解如何做公司网页和新公司网站建立步骤的话题,具体详情如下: 每家公司都会有它的网站,因为在这个互联网时代,没有自己的公司网站就不容易被用户找到的,就
-
域名注册网站有哪些 注册自己网站的域名方法
一篇方法教程,与您分享域名注册网站有哪些和注册自己网站的域名方法的相关介绍,继续往下看吧! 域名注册哪个网站好,这个问题的答案不是唯一的。 好的注册网站的服务必须专业到位,
-
sublime打开中文乱码怎么调回来 sublime乱码怎么处理
很多网友在问:使用 sublime text打开中文乱码怎么调回来? 下面IT袋小编就给大家分享解决方法,帮助大家解决实际问题。 sublime乱码怎么处理 一般来说,使用sublime text打开中文乱码大概率是因
-
域名解析怎么弄 域名解析详细教程分享
小编为大家讲一讲域名解析怎么弄和域名解析详细教程分享的相关知识,接下来IT袋小编为大家介绍。 图文教程 域名解析 :是在域名解析平台上进行操作,把域名指向到虚拟主机(空间)的


