Vue JS 2.0 没有渲染任何东西?

新手上路,请多包涵

使用 Vue (^2.0.0-rc.6) + Browserify,入口点是 index.js:

 import Vue from 'vue'
import App from './containers/App.vue'

new Vue({ // eslint-disable-line no-new
  el: '#root',
  render: (h) => h(App)
})

应用程序.vue:

 <template>
  <div id="root">
    <hello></hello>
  </div>
</template>

<script>
import Hello from '../components/Hello.vue'
export default {
  components: {
    Hello
  }
}
</script>

<style>
body {
  font-family: Helvetica, sans-serif;
}
</style>

你好.vue:

 <template>
  <div class="hello">
    <h1>\{{ msg }}</h1>
  </div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello Vue!'
    }
  }
}
</script>

空白屏幕,我错过了什么吗?

编辑:

条目 html 只是 <div id="root"></div> ,控制台日志上没有错误,我很确定 Hello.vue 已加载,因为 console.log('test') 该文件出现在控制台上。

编辑2:

发现错误:

[Vue 警告]:您正在使用仅运行时构建的 Vue,其中模板选项不可用。要么将模板预编译为渲染函数,要么使用包含编译器的构建。 (在匿名组件中找到 - 使用“名称”选项以获得更好的调试消息。)

这是否意味着我必须使用 webpack 解决方案?不能使用标准 HTML?

解决方案:从 ‘vue/dist/vue.js’ 导入 Vue

原文由 user2002495 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 334
2 个回答

只是为了让寻找答案的人们的生活更轻松:

 import Vue from 'vue/dist/vue.js'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App)
})

来自作者——2.0 独立构建意味着(编译器+运行时)。 NPM 包的默认导出将仅在运行时进行,因为如果从 NPM 安装,您可能会使用构建工具预编译模板。

原文由 dima 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您使用的是诸如 browserify 或 Webpack 之类的构建工具,您很可能可以使用 单文件组件 来避免此类错误(在单文件组件中,模板会自动编译以通过 vueify 呈现函数)。您绝对应该尽量避免在其他任何地方使用模板。查看论坛和文档以获取有关如何避免它们的答案。

但根据我自己的经验,我知道在您的项目中找到导致错误消息的模板并不总是那么容易。如果您遇到同样的问题,作为临时解决方法,以下内容应该会有所帮助:

你不应该导入’vue/dist/vue.js’(查看文档: https ://github.com/vuejs/vue/wiki/Vue-2.0-RC-Starter-Resources#standalone-vs-runtime-builds 为什么不是)

相反,您应该在您正在使用的构建工具中处理它。

就我而言,我使用的是 browserify,您可以在其中使用 aliasify 来创建别名。将以下内容添加到您的 package.json 文件中:

 {
  // ...
  "browser": {
    "vue": "vue/dist/vue.common.js"
  }
}

对于 Webpack 用户,您似乎必须将以下内容添加到您的配置中:

 resolve: {
    alias: {vue: 'vue/dist/vue.js'}
},

更多信息可以在文档中找到: https ://v2.vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only

原文由 gwildu 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题