Nuxt.js 默认的配置涵盖了大部分使用情形,可通过 **nuxt.config.js** 来覆盖默认的配置。

head

  1. head: {
  2. title: '关河智图',
  3. meta: [
  4. { charset: 'utf-8' },
  5. { name: 'viewport', content: 'width=device-width, initial-scale=1' },
  6. {
  7. hid: 'description',
  8. name: 'description',
  9. content: '关河智图,关河因果,因果分析,数据分析。'
  10. },
  11. {
  12. name: 'keywords',
  13. content: '关河智图 关河因果 因果分析 数据分析'
  14. },
  15. { name: 'format-detection', content: 'telephone=no' }
  16. ],
  17. link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.svg' }],
  18. script: [
  19. { src: 'https://hm.baidu.com/hm.js?1e79b0ed313e79c1f5490fd11dae46af' }
  20. ]
  21. },

配置 script 脚本

  1. // 链接形式
  2. head:{
  3. script:[{src='xxx.js'}]
  4. }

env 环境变量配置

Nuxt.js 让你可以配置在客户端和服务端共享的环境变量。

  1. module.exports = {
  2. env: {
  3. baseUrl: process.env.BASE_URL || 'http://localhost:3000'
  4. }
  5. }

以上配置我们创建了一个 baseUrl 环境变量,如果应用设定了 BASE_URL 环境变量,那么 baseUrl 的值等于 BASE_URL 的值,否则其值为 http://localhost:3000。

然后, 我们可以通过以下两种方式来使用 baseUrl 变量:

  1. 通过 process.env.baseUrl
  2. 通过 context.baseUrl,请参考 context api

你可以使用 env 属性配置第三方服务的公钥信息。
举个例子, 我们可以利用它来配置 axios 的自定义实例。

  1. import axios from 'axios'
  2. export default axios.create({
  3. baseURL: process.env.baseUrl
  4. })

然后在页面中,我们可以使用 import axios from ‘~/plugins/axios’ 引入 axios 模块。

modules Nuxt.js 扩展

modules 是 Nuxt.js 扩展,可以扩展它的核心功能并添加无限的集成。

  1. export default {
  2. modules: [
  3. // Using package name
  4. '@nuxtjs/axios',
  5. // Relative to your project srcDir
  6. '~/modules/awesome.js',
  7. // Providing options
  8. ['@nuxtjs/google-analytics', { ua: 'X1234567' }],
  9. // Inline definition
  10. function () {}
  11. ]
  12. }

plugins 插件

  • 类型: Array
    • 数组元素类型: String 或 Object

如果数组元素类型是 Object, 其具有以下属性:

  • src: String (文件的路径)
  • ssr: Boolean (默认为 true) 如果值为 false,该文件只会在客户端被打包引入。
    1. plugins: [
    2. '@/plugins/element-ui',
    3. '@/plugins/i18n.js',
    4. { src: '@/plugins/favicon.js', ssr: false }
    5. ],

plugins** 属性使得你可以轻易地为 Nuxt.js 配置使用 Vue.js 插件。**

  1. module.exports = {
  2. plugins: ['~plugins/vue-notifications']
  3. }

然后, 我们需要创建 plugins/vue-notifications.js 文件:

  1. import Vue from 'vue'
  2. import VueNotifications from 'vue-notifications'
  3. Vue.use(VueNotifications)

plugins 属性配置的所有插件会在 Nuxt.js 应用初始化之前被加载导入。

每次你需要使用 Vue.use() 时,你需要在 plugins/ 目录下创建相应的插件文件,并在 nuxt.config.js 中的 plugins 配置项中配置插件的路径。

router 属性配置

router 属性让你可以个性化配置 Nuxt.js 应用的路由(vue-router)。