美文网首页
1 简单使用nuxt

1 简单使用nuxt

作者: wncbbnk | 来源:发表于2018-03-02 16:29 被阅读0次

    1. 安装

    doc: https://zh.nuxtjs.org/

    //最好用最新的node版本,以支持最新的语法特性
    npm install -g vue-cli
    
    vue init nuxt/starter <project-name>
    cd <project-name>
    npm install
    
    npm run dev
    

    如果用axios做异步数据请求,还要安装axios

    npm install axios --save-dev
    

    2. 使用

    在pages目录里添加一个文件,test.vue.

    <template>
      <h1>{{ title }}</h1>
    </template>
    
    <script>
    //引入axios,还有很多比如superagent、needle等都可以。
    import axios from 'axios';
    export default {
      //这里采用async/await方式进行异步数据加载
      async asyncData(context){
        console.log(context);
        let {data}=await axios.get(`http://127.0.0.1:8002?message=${context.query.id}`);
        console.log(data);
        return {title: data.message};
      }
    }
    </script>
    

    其中asyncData的参数为context(https://zh.nuxtjs.org/api#%E4%B8%8A%E4%B8%8B%E6%96%87%E5%AF%B9%E8%B1%A1),如果只要query,也可以写成:

    export default{
      async asyncData({query}){
        let {data}=await axios.get(`http://127.0.0.1:8002?message=${query.id}`);
      return {title, data.message}
      }
    }
    

    3. context自己打印了下自己的数据内容

    { isServer: [Getter],
      isClient: [Getter],
      isStatic: false,
      isDev: true,
      isHMR: false,
      app:
       { router:
          VueRouter {
            app: [Vue$3],
            apps: [Array],
            options: [Object],
            beforeHooks: [],
            resolveHooks: [],
            afterHooks: [],
            matcher: [Object],
            fallback: false,
            mode: 'abstract',
            history: [AbstractHistory] },
         nuxt:
          { defaultTransition: [Object],
            transitions: [Array],
            setTransitions: [Function: setTransitions],
            err: null,
            dateErr: null,
            error: [Function: error] },
         head:
          { title: 'test1',
            meta: [Array],
            link: [Array],
            style: [],
            script: [] },
         render: [Function: render],
         data: [Function: data],
         beforeCreate: [Function: beforeCreate],
         created: [Function: created],
         mounted: [Function: mounted],
         watch: { 'nuxt.err': 'errorChanged' },
         methods:
          { errorChanged: [Function: errorChanged],
            setLayout: [Function: setLayout],
            loadLayout: [Function: loadLayout] },
         components: { NuxtLoading: [Object] },
         context: [Circular] },
      payload: undefined,
      error: [Function: bound error],
      base: '/',
      env: {},
      req:
       IncomingMessage {
         _readableState:
          ReadableState {
            objectMode: false,
            highWaterMark: 16384,
            buffer: [BufferList],
            length: 0,
            pipes: null,
            pipesCount: 0,
            flowing: null,
            ended: true,
            endEmitted: false,
            reading: false,
            sync: true,
            needReadable: false,
            emittedReadable: true,
            readableListening: false,
            resumeScheduled: false,
            destroyed: false,
            defaultEncoding: 'utf8',
            awaitDrain: 0,
            readingMore: true,
            decoder: null,
            encoding: null },
         readable: true,
         _events: {},
         _eventsCount: 0,
         _maxListeners: undefined,
         socket:
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [TCP],
            _parent: null,
            _host: null,
            _readableState: [ReadableState],
            readable: true,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [WritableState],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Server],
            _server: [Server],
            _idleTimeout: 120000,
            _idleNext: [Socket],
            _idlePrev: [TimersList],
            _idleStart: 6170607,
            _destroyed: false,
            parser: [HTTPParser],
            on: [Function: socketOnWrap],
            _paused: false,
            _peername: [Object],
            _httpMessage: [ServerResponse],
            [Symbol(asyncId)]: 42218,
            [Symbol(lastWriteQueueSize)]: 0,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 42219,
            [Symbol(triggerAsyncId)]: 42218 },
         connection:
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [TCP],
            _parent: null,
            _host: null,
            _readableState: [ReadableState],
            readable: true,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [WritableState],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Server],
            _server: [Server],
            _idleTimeout: 120000,
            _idleNext: [Socket],
            _idlePrev: [TimersList],
            _idleStart: 6170607,
            _destroyed: false,
            parser: [HTTPParser],
            on: [Function: socketOnWrap],
            _paused: false,
            _peername: [Object],
            _httpMessage: [ServerResponse],
            [Symbol(asyncId)]: 42218,
            [Symbol(lastWriteQueueSize)]: 0,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 42219,
            [Symbol(triggerAsyncId)]: 42218 },
         httpVersionMajor: 1,
         httpVersionMinor: 1,
         httpVersion: '1.1',
         complete: true,
         headers:
          { host: '127.0.0.1:3000',
            connection: 'keep-alive',
            'upgrade-insecure-requests': '1',
            'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36',
            accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'accept-encoding': 'gzip, deflate, br',
            'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
            cookie: 'a=b; c=d',
            'if-none-match': '"a53-3V9JYObNkQg1JKD2m66uXHxjsR8"' },
         rawHeaders:
          [ 'Host',
            '127.0.0.1:3000',
            'Connection',
            'keep-alive',
            'Upgrade-Insecure-Requests',
            '1',
            'User-Agent',
            'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36',
            'Accept',
            'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'Accept-Encoding',
            'gzip, deflate, br',
            'Accept-Language',
            'zh-CN,zh;q=0.9,en;q=0.8',
            'Cookie',
            'a=b; c=d',
            'If-None-Match',
            '"a53-3V9JYObNkQg1JKD2m66uXHxjsR8"' ],
         trailers: {},
         rawTrailers: [],
         upgrade: false,
         url: '/test?id=123',
         method: 'GET',
         statusCode: null,
         statusMessage: null,
         client:
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [TCP],
            _parent: null,
            _host: null,
            _readableState: [ReadableState],
            readable: true,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [WritableState],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Server],
            _server: [Server],
            _idleTimeout: 120000,
            _idleNext: [Socket],
            _idlePrev: [TimersList],
            _idleStart: 6170607,
            _destroyed: false,
            parser: [HTTPParser],
            on: [Function: socketOnWrap],
            _paused: false,
            _peername: [Object],
            _httpMessage: [ServerResponse],
            [Symbol(asyncId)]: 42218,
            [Symbol(lastWriteQueueSize)]: 0,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 42219,
            [Symbol(triggerAsyncId)]: 42218 },
         _consuming: false,
         _dumped: false,
         originalUrl: '/test?id=123',
         _parsedUrl:
          Url {
            protocol: null,
            slashes: null,
            auth: null,
            host: null,
            port: null,
            hostname: null,
            hash: null,
            search: '?id=123',
            query: 'id=123',
            pathname: '/test',
            path: '/test?id=123',
            href: '/test?id=123',
            _raw: '/test?id=123' },
         _parsedOriginalUrl:
          Url {
            protocol: null,
            slashes: null,
            auth: null,
            host: null,
            port: null,
            hostname: null,
            hash: null,
            search: '?id=123',
            query: 'id=123',
            pathname: '/test',
            path: '/test?id=123',
            href: '/test?id=123',
            _raw: '/test?id=123' } },
      res:
       ServerResponse {
         _events: { finish: [Function: bound resOnFinish] },
         _eventsCount: 1,
         _maxListeners: undefined,
         output: [],
         outputEncodings: [],
         outputCallbacks: [],
         outputSize: 0,
         writable: true,
         _last: false,
         upgrading: false,
         chunkedEncoding: false,
         shouldKeepAlive: true,
         useChunkedEncodingByDefault: true,
         sendDate: true,
         _removedConnection: false,
         _removedContLen: false,
         _removedTE: false,
         _contentLength: null,
         _hasBody: true,
         _trailer: '',
         finished: false,
         _headerSent: false,
         socket:
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [TCP],
            _parent: null,
            _host: null,
            _readableState: [ReadableState],
            readable: true,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [WritableState],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Server],
            _server: [Server],
            _idleTimeout: 120000,
            _idleNext: [Socket],
            _idlePrev: [TimersList],
            _idleStart: 6170607,
            _destroyed: false,
            parser: [HTTPParser],
            on: [Function: socketOnWrap],
            _paused: false,
            _peername: [Object],
            _httpMessage: [Circular],
            [Symbol(asyncId)]: 42218,
            [Symbol(lastWriteQueueSize)]: 0,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 42219,
            [Symbol(triggerAsyncId)]: 42218 },
         connection:
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [TCP],
            _parent: null,
            _host: null,
            _readableState: [ReadableState],
            readable: true,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [WritableState],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Server],
            _server: [Server],
            _idleTimeout: 120000,
            _idleNext: [Socket],
            _idlePrev: [TimersList],
            _idleStart: 6170607,
            _destroyed: false,
            parser: [HTTPParser],
            on: [Function: socketOnWrap],
            _paused: false,
            _peername: [Object],
            _httpMessage: [Circular],
            [Symbol(asyncId)]: 42218,
            [Symbol(lastWriteQueueSize)]: 0,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 42219,
            [Symbol(triggerAsyncId)]: 42218 },
         _header: null,
         _onPendingData: [Function: bound updateOutgoingData],
         _sent100: false,
         _expect_continue: false,
         statusCode: 200,
         [Symbol(isCorked)]: false,
         [Symbol(outHeadersKey)]: null },
      redirect: [Function],
      beforeNuxtRender: [Function],
      next: [Function],
      _redirected: false,
      _errored: false,
      route:
       { name: 'test',
         meta: [ {} ],
         path: '/test',
         hash: '',
         query: { id: '123' },
         params: {},
         fullPath: '/test?id=123',
         matched: [ [Object] ] },
      params: {},
      query: { id: '123' } }
    

    相关文章

      网友评论

          本文标题:1 简单使用nuxt

          本文链接:https://www.haomeiwen.com/subject/hdiaxftx.html