天天看点

/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-->