请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

按照步骤,执行 node server.js报错

D:\vue3+ts+ssr+vite\airbnb-ssr>node server.js
node-server运行成功
[Vue warn]: Unhandled error during execution of setup function
at <HeaderCommon onChangeLanguage=fn >
[Vue warn]: Unhandled error during execution of setup function
at <HeaderCommon onChangeLanguage=fn >
D:\vue3+ts+ssr+vite\airbnb-ssr\node_modules@vue\runtime-dom\dist\runtime-dom.cjs.js:1440
const res = document.querySelector(container);
^

ReferenceError: document is not defined
at normalizeContainer (D:\vue3+ts+ssr+vite\airbnb-ssr\node_modules@vue\runtime-dom\dist\runtime-dom.cjs.js:1440:17)
at app.mount (D:\vue3+ts+ssr+vite\airbnb-ssr\node_modules@vue\runtime-dom\dist\runtime-dom.cjs.js:1396:23)
at eval (D:/vue3+ts+ssr+vite/airbnb-ssr/src/entry-server.ts:9:7)

Node.js v18.16.0

正在回答 回答被采纳积分+3

1回答

Harry_wang 2023-06-12 09:40:40

1、document是客户端的对象,服务端渲染肯定会报错,应该是你正在使用一个依赖包包含document,你排查下,做下兼容,在代码中判断document是否存在来避免报错

2、node版本尽量和课程中版本一致哦

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕瓜5226519 #1
    老师,这个报错是在node_modules\@vue\runtime-dom\dist\runtime-dom.cjs.js里面的document导致的错误,我看老师的代码依赖也有这个,执行却没有我这个报错
    回复 有任何疑惑可以回复我~ 2023-06-12 14:35:54
  • 提问者 weixin_慕瓜5226519 #2
    function normalizeContainer(container) {
      if (shared.isString(container)) {
        const res = document.querySelector(container);
        if (!res) {
          runtimeCore.warn(
            `Failed to mount app: mount target selector "${container}" returned null.`
          );
        }
        return res;
      }
      if (window.ShadowRoot && container instanceof window.ShadowRoot && container.mode === "closed") {
        runtimeCore.warn(
          `mounting on a ShadowRoot with \`{mode: "closed"}\` may lead to unpredictable bugs`
        );
      }
      return container;
    }
    回复 有任何疑惑可以回复我~ 2023-06-12 14:42:11
  • Harry_wang 回复 提问者 weixin_慕瓜5226519 #3
    package.json里所有依赖和课程中一样不?
    回复 有任何疑惑可以回复我~ 2023-06-12 17:31:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信