nuxtjs的初使用

1.安装

$ npx create-nuxt-app <项目名>
//或者
$ yarn create nuxt-app <项目名>

2.路由

只要在page目录下生成vue文件 nuxtjs就会自动将改组件添加到路由中去

++ 在page文件中创建目录

在这里插入图片描述
接下来就可以直接用
http://localhost:3000/news
访问了

++动态路由
动态路由只要在vue文件命名的时候加上下划线
例如
在这里插入图片描述
这样就可以直接访问了
在这里插入图片描述
++路由嵌套
在目录下创建一个vue文件 同时在同级目录下要创建一个同名的文件夹
例如 movie.vue和vue文件夹
在这里插入图片描述
movie中的代码

<template>
  <div>
    <h1>这是电影首页</h1>
    <nuxt-link to="/movie/one">第一个电影</nuxt-link>
    <nuxt-link to="/movie/two">第二个电影</nuxt-link>
    <nuxt-link to="/movie/three">第三个电影</nuxt-link>
    <nuxt-link to="/movie/list">电影数据</nuxt-link>
    <nuxt-child></nuxt-child>
  </div>
</template>

<script>
export default {
  data () {
    return {

    }
  },
  methods: {

  },
  components: {

  }
}
</script>


movie文件夹中 one.vue的内容

<template>
  <div>
    <h2>这是第一个电影详情</h2>
  </div>
</template>

<script>
export default {
  data () {
    return {

    }
  },
  methods: {

  },
  components: {

  }
}
</script>

3.处理SSR跨域请求

1.安装
npm i @nuxtjs/proxy -D

配置

 modules: [
    '@nuxtjs/axios',
    '@nuxtjs/proxy'
  ],
  axios: {
    proxy: true
  },
  proxy: {
    '/api': {
      target: 'http://example.com',
      pathRewrite: {
        '^/api' : '/'
      }
    }
  }

2.list.vue文件中的代码

<template>
  <div>
    <nuxt-link to="/movie">电影</nuxt-link>
    <hr>
    <ul v-for="(item,index) in movieData"
        :key="index">
      <li>序号:{{item.id}}</li>
      <li>名称:{{item.movieName}}</li>
    </ul>
  </div>
</template>

<script>
import Axios from 'axios'
export default {
  async asyncData ({ req, res }) {
    console.log('process.server', process.server);
    var url = process.server ? 'http://localhost:3001/admin/v1/movie/list' : '/admin/v1/movie/list'
    return Axios.get(url).then(response => {
      console.log(response);
      // response = JSON.parse(JSON.stringify(response))
      return { movieData: response.data.result }
    }).catch(error => { console.log(error); })
  },
  data () {
    return {

    }
  },
  methods: {

  },
  components: {

  }
}
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值