Vue CLI 3 预渲染水疗插件

Posted

技术标签:

【中文标题】Vue CLI 3 预渲染水疗插件【英文标题】:Vue CLI 3 prerender-spa-plugin 【发布时间】:2019-06-12 11:53:02 【问题描述】:

我尝试使用带有 Vue CLI 3 的 npm 包 prerender-spa-plugin 预渲染我的 SPA 的路由,运行“npm run build”后我得到了一个不错的输出,如下所示:

index.html 中的输出是一个错误:

<html>

<head>
</head>

<body>Html Webpack Plugin:
  <pre>  ReferenceError: BASE_URL is not defined
  
  - index.html:96 
    C:/Users/Fred/v2/public/index.html:96:11
  
  - index.html:99 0971.module.exports
    C:/Users/Fred/v2/public/index.html:99:3
  
  - index.js:284 Promise.resolve.then
    [v2]/[html-webpack-plugin]/index.js:284:18
  
  </pre>
</body>

</html>

我的 vue.config.js 是这样的:

const path = require('path');
const PrerenderSPAPlugin = require('prerender-spa-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');


module.exports = 
    configureWebpack: 
        plugins: [
            new HtmlWebpackPlugin(
                template: './public/index.html',
                inject: false
            ),
            new PrerenderSPAPlugin(
                staticDir: path.join(__dirname, './dist'),
                routes: ['/', '/om-guldbaek', '/om/:id', '/aktiviteter', '/aktivitet/:id', '/foreninger', '/forening/:id', '/begivenheder', '/begivenhed/:id', '/gdpr', '/institutioner', '/institution/:id', '/login', '/nyheder', '/nyhed/:id', '/kontakt', '/registreringer'],
            )
        ],
    ,
;

当我在 VSCode 中运行“npm run build”时,它会不断返回“Building for production...”,而没有任何事情发生。有人知道这个问题吗?

【问题讨论】:

【参考方案1】:

好的,我找到了问题。在 index.html 我有一行:

&lt;link rel="icon" href="&lt;%= BASE_URL %&gt;favicon.ico"&gt;

现在解决了

【讨论】:

以上是关于Vue CLI 3 预渲染水疗插件的主要内容,如果未能解决你的问题,请参考以下文章

webpack5, vue3,vue-cli5 使用 prerender-spa-plugin 预渲染

总结vue 预渲染

如何使用 spa-prerender 插件在 VUE 中预渲染“*”(未找到)页面

vue预渲染插件 prerender-spa-plugin(seo优化,生成多页面)

vue 预渲染 prerender-spa-plugin

vue-cil 服务端预渲染 prerender-spa-plugin