2017-08-03 61 views
1

我有一个插件,我不希望客户端看到。不幸的是,它始终为服务器和客户端构建。这怎么能被阻止?仅插件服务器端

<template> 
    <div> 
     Test 
    </div> 
</template> 

<script> 
    import getAll from '~/plugins/api' 
    export default { 
     asyncData (context, callback) { 
      getAll(function(data){ 
       callback(null,data); 
      }) 
     } 
    } 
</script> 

这是我的.vue文件。数据的获取正在工作,但我也可以从客户端看到我不想要的代码。

回答

1

也许你可以使用context.isServer属性。
这是一个布尔值,让你知道你是否真的从服务器端渲染。

<script> 
import getAll from '~/plugins/api' 
export default { 
    asyncData (context, callback) { 
     if (context.isServer) { 
      getAll(function(data){ 
       callback(null,data); 
      }) 
     } 
    } 
} 
</script> 

更多关于这里Nuxt上下文说明:https://nuxtjs.org/api/context