很倔也很天真 2024-04-30 12:34 采纳率: 100%
浏览 10
已结题

Vue3中创建一个应用为什么不显示?

根据vue官方文档去写,结果不能得到想要的显示效果


官方示例代码:

img


我的 index.html 文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vite App</title>
  </head>
  <body>
    <script type="importmap">
      {
        "imports": {
          "vue": "https://unpkg.com/vue@3/dist/vue.esm-browser.js"
        }
      }
    </script>
    <div id="app"><button @click="count++">{{ count }}</button></div>
    <script type="module">
      import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
      // import { createApp } from 'vue'
      const app = createApp({
        data() {
          return {
            count: 0
          }
        }
      })
      app.mount('#app')
    </script>
  </body>
</html>

如果使用下面这句,可以实现 显示一个计数器按钮

import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'

如果使用 下面这句, 我的理解是 这里的 vue 是 上面

<script type="importmap">

关联的, 但是不起作用

import { createApp } from 'vue'

页面显示不出, HTML 代码如下



    <div id="app" data-v-app=""><!----></div>
    <script type="module" src="/index.html?html-proxy&amp;index=0.js"></script>

    <!-- <script type="module" src="/src/main.js"></script> --> 

引入的index.js

      // import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
      import { createApp } from "/node_modules/.vite/deps/vue.js?t=1714449067093&v=1987e5fe"
      const app = createApp({
        data() {
          return {
            count: 0
          }
        }
      })
      app.mount('#app')

正常情况引入的index.js

import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'
      // import { createApp } from 'vue'
      const app = createApp({
        data() {
          return {
            count: 0
          }
        }
      })
      app.mount('#app')

为啥?

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-04-30 13:36
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据您的描述,问题似乎出在使用 import { createApp } from 'vue' 这行代码时无法正常显示页面内容,而使用

    import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm- browser.js' 则可以。
    这个问题可能是由于您在 importmap 中指定了 Vue 的依赖,但是在实际的代码中却使用了不同的导入方式所致。具体解决方案如下:

    1. 确认导入方式 : 首先,请确保您在使用 import { createApp } from 'vue' 时,确实引入了 Vue 3 的库。Vue 3 在导入上有一些变化,如果您使用的是 Vue 2 的语法,可能导致无法正常渲染。
    2. 检查导入路径 : 如果您确定需要使用 import { createApp } from 'vue' 这种方式,而不是通过 import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js',请确保路径是正确的,并且指向了 Vue 3 的版本。
    3. 排查错误 : 如果您的页面仍然无法显示,建议您打开浏览器的开发者工具(通常按 F12 键可以打开),查看控制台中是否有任何错误信息,这些错误信息可能会提供更多线索。
    4. 修改代码 : 如果您确认路径正确,但页面仍然无法显示,可以尝试将 import { createApp } from 'vue' 改为 import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js',以确保使用的是 Vue 3 的正确版本。
    5. 更新依赖 : 最后,确保您的依赖是最新的。有时候版本不匹配或者依赖不完整也会导致类似的问题。
      综上所述,通过检查导入方式、路径以及排查错误信息,您应该能够解决页面无法显示的问题。如果您需要进一步的帮助,请提供更多详细信息或者错误信息,我将竭尽所能为您解决。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 4月30日

悬赏问题

  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22