Vitalii Savchuk <vitalii.savchuk@eliftech.com>
Vitalii Savchuk vitalii.savchuk@eliftech.com
Встановлюємо vue-cli глобально
npm install -g vue-cli
Створюємо новий проект зі шаблону
vue init nuxt-community/starter-template <project-name>
<template>
<h1>Admin Page</h1>
</template>
<script>
export default {
layout: 'admin-layout'
};
</script>
<template>
<div>
<nuxt />
</div>
</template>
/products/_product_id.vue
<template>{{ $route.params.product_id }}</template>
<script>
export default {
validate ({ params }) {
return return /^\d+$/.test(params.product_id);
export default {
data () {
return { project: 'default' }
}
asyncData (context) {
return { project: 'nuxt' }
}
}
export default {
fetch ({ store, params }) {
return axios.get('https://.../stars')
.then((res) => {
store.commit('setStars', res.data)
})
}
}
<a href="/about">Про нас</a> <!-- Перевантажить сторінку -->
<nuxt-link to="/about">Про нас</nuxt-link> <!-- чікі-пікі -->
// nuxt.config.js
module.exports = {
plugins: [
{ src: '~/plugins/vue-notifications', ssr: false }
]
};
// plugins/vue-notifications.js
import Vue from 'vue';
import VueNotifications from 'vue-notifications';
Vue.use(VueNotifications);
module.exports = function (moduleOptions) {
this.addServerMiddleware({
path: 'robots.txt',
handler(req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end('Kill all humans');
},
});
};
npm run build
npm start
npm run generate
// nuxt.config.js
module.exports = {
mode: 'spa'
};
npm run build