vue.js - 在 cloudflare 工作人员上运行 vue3 ssr
问题描述
我正在尝试在 cloudflare 工作人员上运行 vue ssr 应用程序。
我使用生成了一个新项目wrangler generate test
npm install vue@next
我使用和安装了 vuenpm install @vue/server-renderer
我像这样编辑了index.js文件:
const { createSSRApp } = require('vue')
const { renderToString } = require('@vue/server-renderer')
const app = createSSRApp({
data: () => ({ msg: 'hello' }),
template: `<div>{{ msg }}</div>`
})
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const html = await renderToString(app)
return new Response(html, {status: 200})
}
然后我用来wrangler dev
测试它,但是当我访问该页面时,我得到了这个错误:
ReferenceError: __VUE_PROD_DEVTOOLS__ is not defined
at Module.<anonymous> (worker.js:8:104768)
at n (worker.js:1:110)
at Object.<anonymous> (worker.js:8:104943)
at n (worker.js:1:110)
at worker.js:1:902
at worker.js:1:912
任何帮助或指导表示赞赏
解决方案
我遇到了类似的问题,并且能够通过在编译期间定义一个全局常量( VUE_PROD_DEVTOOLS = false)来修复它。
这是我的 webpack prod 配置的样子:
const webpack = require('webpack');
const { merge } = require("webpack-merge");
const webpackCommon = require("./webpack.common");
const prodConfig = {
mode: 'production',
plugins: [
new webpack.DefinePlugin({
__VUE_PROD_DEVTOOLS__: JSON.stringify(false)
}),
]
};
module.exports = merge(webpackCommon, prodConfig);
推荐阅读
- html - HTML 文件找不到引导程序 CSS 文件
- api - 通过 API 修改 Github 配置文件但出现“找不到消息”错误
- angular - Typescript获取对象数组中两列值的数组
- google-apps-script - JSON.stringify.replace 用于更新使用 Gmail 草稿作为模板的邮件合并代码
- c# - 解析json时如何将字符串添加到集合中
- node.js - 如何根据与来自服务器的 id 匹配的对象 ID 显示对象
- python - jupyter 中的 %matplotlib notebook 魔术命令只能间歇性地工作
- ruby-on-rails - Ruby on Rails Active Record Bank 数据库“统一”
- matlab - 不确定如何使用“ODE45”命令修复错误
- python - Python,Django:有没有办法在一个模板中编辑多个数据集