如何在Nuxt>中添加客户端js库?

时间:2017-08-15 10:57:15

标签: nuxt.js baqend

第一次在nuxt上。我正在尝试添加客户端库。

在普通的html中我只会将它添加到我的index.html文件中。但我不知道如何在nuxt上做同样的事情。

如何添加?

这是我的配置

module.exports = {

  /*
  ** Headers of the page
  */
  head: {
    title: 'digglu',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: 'social media site' },
      { name: 'google-signin-client_id', content:'xxx.apps.googleusercontent.com' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
  },
  /*
  ** Customize the progress-bar color
  */
  loading: { color: '#3B8070' },
  /*
  ** Build configuration
  */
  build: {
    /*
    ** Run ESLINT on save
    */
    extend (config, ctx) {
      if (ctx.dev && ctx.isClient) {
        config.module.rules.push({
          enforce: 'pre',
          test: /\.(js|vue)$/,
          loader: 'eslint-loader',
          exclude: /(node_modules)/
        })
      }
    }
  }
}

2 个答案:

答案 0 :(得分:2)

根据NuxtJS文档:https://nuxtjs.org/guide/plugins

我可以确认这是有效的,但是有些插件在页面的前3次刷新时仍然会出错,然后错误就消失了,我不知道原因。

  

仅限客户端

     

某些插件可能仅适用于浏览器,您可以使用ssr:   插件中的false选项仅在客户端运行文件。

     

示例:

     

nuxt.config.js:

unknown
     

插件/ VUE-notifications.js:

module.exports = {
  plugins: [
    { src: '~/plugins/vue-notifications', ssr: false }
  ]
}
     

如果您只需要服务器的某些库,那么您   可以在webpack使用时将process.server变量设置为true   创建server.bundle.js文件。

答案 1 :(得分:0)

根据Nuxt文档,您可以在nuxt.config.js中为其使用命名约定或对象语法。

命名约定

export default {
  plugins: [
    '~/plugins/foo.client.js', // only in client side
    '~/plugins/bar.server.js', // only in server side
    '~/plugins/baz.js' // both client & server
  ]
}

对象语法

export default {
  plugins: [
    { src: '~/plugins/both-sides.js' },
    { src: '~/plugins/client-only.js', mode: 'client' }, // only on client side
    { src: '~/plugins/server-only.js', mode: 'server' } // only on server side
  ]
}

查看此处:https://nuxtjs.org/guides/directory-structure/plugins#client-or-server-side-only