【问题标题】:Use of Vue in combination with handlebars and Node/Express结合车把和 Node/Express 使用 Vue
【发布时间】:2020-01-17 07:04:09
【问题描述】:

我开发了一个 CMS。这是一个 Vue SPA。这将连接到 Express/Node 服务器,该服务器通过请求以 JSON 的形式向其提供 API 内容。但是现在我需要建立主站点。我决定在车把上做这件事,因为我不希望这个页面成为一个 SPA,而是我希望它成为一个具有不同页面等的更传统的站点。我还购买了一个用于这个主站点的模板.据我了解,这个模板适用于车把,因为它包含一些像 jquery 这样的 javascript 文件,如果我将其设为 vue 应用程序,这些文件会发生冲突。我的理解正确吗?或者我可以使用 vue 来制作一个不是 spa 并且还包含其他 javascript 文件的网站。我问这个的原因是因为我需要为主站点开发一些类似组件的小功能,我更愿意在 Vue 中编写代码。这让我想到了最后一个问题,是否可以在车把中使用 Vue 组件。我可以安装/创建可以加载到其中的组件吗?

任何对我理解的帮助都将不胜感激,因为虽然我觉得我在 SPA 的上下文中理解 vue,它为 JSON 发出 API 请求。我真的不明白如何将它用于可以放置在其他网页中的小型定制组件,或者我是否可以使用 Vue 来开发非 SPA 形式的网站。谢谢。

【问题讨论】:

标签: express vue.js handlebars.js


【解决方案1】:

您不需要将vue-router 导入到 Vue 项目中。这就是使它成为 SPA 的原因。

您的设置中最简单的方法可能是在没有构建过程的情况下运行 Vue。只需导入带有<script> 标签的vue.min.js,您就可以直接使用Vue.component() 定义您的组件。然后,您可以使用 new Vue({ el: "#app" }); 运行 Vue 应用程序,并且组件正在构建中。您还可以在同一页面上拥有多个 Vue 实例。所以,这里有一个例子:

Vue.component('demo', {
  template: `
    <ul>
      <li v-for="item in data" :key="item">{{ item }}</li>
    </ul>`,
  data () {
    return {
      data: [3, 5, 6, 8]
    };
  }
});

new Vue({ el: '#vue-integration' });
#vue-integration {
  border: 2px solid rgba(255, 0, 0, 0.9);
  background: rgba(255, 0, 0, 0.1);
  width: 80%;
  margin: 10px auto 0 auto;
  padding: 7px;
}
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.0"></script>

<div class="your-awesome-page">

  Your awesome page
  
  <div id="vue-integration">
    A vue demo.
    <demo></demo>
  </div>
 
</div>

【讨论】:

  • 谢谢。我没有意识到是路由器使它成为 SPA。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 2021-03-19
  • 2014-01-06
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多