/node_modules/lodash.template/index.js:1558 throw result; ^ SyntaxError: Unexpected token = 报错解决(代码

Posted vieber

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了/node_modules/lodash.template/index.js:1558 throw result; ^ SyntaxError: Unexpected token = 报错解决(代码相关的知识,希望对你有一定的参考价值。

报错信息

node_modules/lodash.template/index.js:1558
    throw result;
    ^

SyntaxError: Unexpected token =
    at Function (<anonymous>)
    node_modules/lodash.template/index.js:1550:12

问题背景

使用vue-server-renderer编译,插入html到模版中

const fs = require('fs')
const {
    resolve
} = require('path')

const createBundleRenderer = require('vue-server-renderer').createBundleRenderer


// 读取`skeleton.json`,以`index.html`为模板写入内容
const renderer = createBundleRenderer(resolve(__dirname, './dist/skeleton.json'), {
    template: fs.readFileSync(resolve(__dirname, './index.html'), 'utf-8')
})

// 把上一步模板完成的内容写入(替换)`index.html`
renderer.renderToString({}, (err, html) => {
    if (err) {
        console.log('err:' + err);
    }
    fs.writeFileSync('index.html', html, 'utf-8')
})

原因

原来是原来html中有这样的代码

<%= htmlWebpackPlugin.options.loading.css %>
<%= htmlWebpackPlugin.options.loading.html %>

导致解析插入失败

 <!--vue-ssr-outlet-->

替换这个,把<%= htmlWebpackPlugin.options.loading.css %> <%= htmlWebpackPlugin.options.loading.html %>
删除掉就好了。

以上是关于/node_modules/lodash.template/index.js:1558 throw result; ^ SyntaxError: Unexpected token = 报错解决(代码的主要内容,如果未能解决你的问题,请参考以下文章