vue 处级 为啥hello world这样不行?

vue 处级 为啥hello world这样不行?

问题描述:

最最简单的东西。。页面显示不了。

第九行至十八行代码,将其写在div后面,就是二十四行后面,11行的new vue 应该是new Vue

vue3.x版本的写法有改变,且你引入的cdn不对,完整代码示例如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1" />
    <meta name="renderer" content="webkit" />
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">{{msg}}</div>
    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.0.11/vue.cjs.js"></script> -->
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.0.11/vue.global.js"></script>
    <script>
      window.onload = function () {
        const App = {
          el: "#app",
          data() {
            return {
              msg: "hello",
            };
          },
        };
        Vue.createApp(App).mount("#app");
      };
    </script>
  </body>
</html>

应该是加载顺序问题,你把script 9-18放到25行,因为div id=itany还没渲染,vue el挂载也挂载不上。有报错吗控制台。vue3应该有些改变,和2不太一样

有window.onload,那么即使放在head也没关系

问题出在

1.cdn引用错误 用的是cjs.js 这个文件是CommonJS规范 直接使用会报ReferenceError: Can't find variable: exports 并且引用不进vue

2.如果用的是Vue3.x 那么你需要遵循vue3的规范 文档[https://v3.cn.vuejs.org/guide/instance.html#创建一个应用实例]

所以可以通过更换2.x的cdn或者更换正确的3.x的cdn并改写创建实例的方式来解决