将 Vue 与车把和 Node/Express 结合使用
Use of Vue in combination with handlebars and Node/Express
我开发了一个 CMS。这是一个 Vue SPA。这连接到 Express/Node 服务器,该服务器通过请求以 JSON 的形式向其传送 api 内容。但是现在我需要建立主站点。我决定在 handlebars 中进行操作,因为我不希望此页面成为 SPA,而是希望它成为具有不同页面等的更传统的网站。我还购买了一个用于此主网站的模板.据我了解,此模板适用于 handlebars,因为它包含一些 javascript 文件,例如 jquery,如果我要将其制作成 vue 应用程序,这些文件会发生冲突。我的理解是否正确?或者我可以使用 vue 制作一个不是水疗中心并且还包含其他 javascript 文件的网站。我问这个的原因是因为我需要为主站点开发一些类似组件的小功能,我更愿意在 Vue 中编写代码。这让我想到了最后一个问题,是否可以在 handlebars 中使用 Vue 组件。我可以 install/create 可以加载到其中的组件吗?
任何对我的理解的帮助将不胜感激,因为虽然我觉得我在 SPA 的上下文中理解 vue,该 SPA 发出 API 请求 JSON。我真的不明白如何将它用于可以放置在其他网页中的小型定制组件,或者我是否可以使用 Vue 来开发非 SPA 形式的网站。谢谢
您不需要将 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>
我开发了一个 CMS。这是一个 Vue SPA。这连接到 Express/Node 服务器,该服务器通过请求以 JSON 的形式向其传送 api 内容。但是现在我需要建立主站点。我决定在 handlebars 中进行操作,因为我不希望此页面成为 SPA,而是希望它成为具有不同页面等的更传统的网站。我还购买了一个用于此主网站的模板.据我了解,此模板适用于 handlebars,因为它包含一些 javascript 文件,例如 jquery,如果我要将其制作成 vue 应用程序,这些文件会发生冲突。我的理解是否正确?或者我可以使用 vue 制作一个不是水疗中心并且还包含其他 javascript 文件的网站。我问这个的原因是因为我需要为主站点开发一些类似组件的小功能,我更愿意在 Vue 中编写代码。这让我想到了最后一个问题,是否可以在 handlebars 中使用 Vue 组件。我可以 install/create 可以加载到其中的组件吗?
任何对我的理解的帮助将不胜感激,因为虽然我觉得我在 SPA 的上下文中理解 vue,该 SPA 发出 API 请求 JSON。我真的不明白如何将它用于可以放置在其他网页中的小型定制组件,或者我是否可以使用 Vue 来开发非 SPA 形式的网站。谢谢
您不需要将 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>