我开始使用 nuxt 和 vue。我想使用 vue 创建一个简单的站点,然后使用以下命令将其转换为静态站点:
nuxt generate
我已经能够使用 nuxt 和 vuetify 来做到这一点(你可以在https://github.com/kc1/nuxt4看到这个)。
有没有办法将此 nuxt 项目用作模板并使用文件执行“查找和替换”以生成个性化网站?
举个例子。工具栏组件是:
<template>
<v-toolbar color="indigo" dark>
<v-toolbar-side-icon></v-toolbar-side-icon>
<v-toolbar-title class="white--text">Title</v-toolbar-title>
<v-spacer></v-spacer>
<v-toolbar-items class="hidden-sm-and-down">
<v-btn flat>Link One</v-btn>
<v-btn flat>Link Two</v-btn>
<v-btn flat>Link Three</v-btn>
</v-toolbar-items>
</v-toolbar>
</template>
有没有办法更换:
Title - > My project
Link One -> Home
Link Two -> About
Link Three -> Contact
在将其生成为静态站点之前还是之后?
编辑:
在 nuxt 2.34的https://nuxtjs.org/guide/vuex-store页面之后,在 /store/store.js 我放置了:
export const state = () => ({
'toolbarActions' : [ 'My project', 'Home', 'About', 'Contact' ]
})
我仍然得到:
ERROR [Vue warn]: data functions should return an object: 20:59:31
https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function
found in
---> <Menu> at components/menu.vue
<Default> at layouts/default.vue
<Root>
ERROR [Vue warn]: Error in render: "TypeError: Cannot use 'in' operator to search for 'toolbarActions' in undefined" 20:59:31
found in
---> <Menu> at components/menu.vue
<Default> at layouts/default.vue
<Root>
我怎样才能解决这个问题?
编辑2:
<template>
<v-toolbar color="indigo" dark>
<v-toolbar-side-icon></v-toolbar-side-icon>
<v-toolbar-title class="white--text">Title</v-toolbar-title>
<v-spacer></v-spacer>
<v-toolbar-items class="hidden-sm-and-down">
<v-btn flat v-for="action in toolbarActions" :key="action">{{action}}</v-btn>
<!-- <v-btn flat v-for="action in toolbarActions">{{action}}</v-btn> -->
<!-- <v-btn flat>Link One</v-btn>
<v-btn flat>Link Two</v-btn>
<v-btn flat>Link Three</v-btn> -->
</v-toolbar-items>
</v-toolbar>
</template>
// 从 '~/store/store.js' 导入toolbarActions
export default {
computed: {
toolbarActions() {
return this.$store.getters.loadedPosts
.....
现在我看到: