Nuxt框架基础配置

这篇具有很好参考价值的文章主要介绍了Nuxt框架基础配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、创建Nuxt项目

确保安装了npx(npx 在 npm 版本 5.2.0 默认安装了):

npx create-nuxt-app <项目名>

或者使用yarn:

yarn create nuxt-app <项目名>

在创建项目时,会让你进行一些配置的选择,可参考文档:运行create-nuxt-app

默认别名设置
~ @         srcDir
~~@@       rootDir
默认情况下,srcDir 和 rootDir 相同。

二、nuxt.config.js配置

该文件是Nuxt框架的主要配置文件,其大多数配置都可以在这里进行配置。这里将依次介绍各个模块中可以配置哪一些属性:

  1. head
    这里可以配置Html中head中的大多数标签,如 title、meta(主要)、link(系统的icon)、script(引入的初始化js,如rem的初始化大小设置)
head: {
    title: '学习nuxt框架',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: '' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ],
    script: [
      {
        src: '/flexible/flexible.js',
        type: 'text/javascript',
        charset: 'utf-8',
      },
    ],
  },

  1. css
    这里配置的是全局的 CSS 文件(每一个页面都会引入,如初始化css文件,UI库的重置)
    如果要使用 sass 就必须要安装 node-sasssass-loader
npm install --save-dev node-sass sass-loader

预处理器安装后,Nuxt.js 会自动识别被导入文件的扩展名,之后,webpack 会使用相应的预处理器进行处理。前提是,你安装了对应预处理器。

css: [    
    // 重置 css 样式
    '@/assets/css/reset.css',
    // 项目里要使用的 SCSS 文件 或 重置UI库的样式
    '@/assets/css/main.scss'
  ]

  1. plugins
    该配置项用于配置那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件。即相当于在main.js引入并全局化的一些插件或者js。

这里配置的插件都必须放置在plugins目录下

该值类型为对象数组(如果只配置一个,可为字符串即文件的路径),每一个配置都是一个对象,并都具有以下属性:

  • src:String (文件的路径)
  • ssr:Boolean (默认为 true),如果设置为false,该文件只会在客户端被打包。
plugins: [
    { src: '@/plugins/vant', ssr: true },
    { src: '@/plugins/api', ssr: true },
    { src: '@/plugins/commonFuc', ssr: true },
    { src: '@/plugins/axios', ssr: false },
    { src: '@/plugins/router', ssr: false },
    { src: '@/plugins/vue-swiper', ssr: false },
  	{ src: '@/plugins/filter', ssr: false },    
  ],

注意:这里除了配置一些公用的js外,每次你需要使用 Vue.use() 时,你需要在 plugins/ 目录下创建相应的插件文件,并在 nuxt.config.js 中的 plugins 配置项中配置插件的路径。

  1. modules
    该配置项允许您将 Nuxt 模块添加到项目中。modules 是 Nuxt.js 扩展,可以扩展它的核心功能并添加无限的集成。

Nuxt.js 团队提供 官方 模块:

  • @nuxt/http: 基于ky-universal的轻量级和通用的 HTTP 请求
  • @nuxtjs/axios: 安全和使用简单 Axios 与 Nuxt.js 集成用来请求 HTTP
  • @nuxtjs/pwa: 使用经过严格测试,更新且稳定的 PWA 解决方案来增强 Nuxt
  • @nuxtjs/auth: Nuxt.js 的身份验证模块,提供不同的方案和验证策略
    Nuxt.js 社区制作的模块列表可在 https://github.com/topics/nuxt-module 中查询
modules: [
    // Using package name
    '@nuxtjs/axios',

    // Relative to your project srcDir, 相对于您的项目srcDir
    '~/modules/awesome.js',

    // Providing options, 传入参数
    ['@nuxtjs/google-analytics', { ua: 'X1234567' }],

    // Inline definition,直接内部定义
    function () {}
  ]

注意:某一些模块的配置可以写在modules配置外,配置详情请参考模块的官方文档。如:

  modules: [
    '@nuxtjs/axios',
    '@nuxtjs/auth',
  ],
  auth: {
    strategies: {
      local: {
        endpoints: {
          login: { url: '/api/auth/login', method: 'post', propertyName: 'token' },
          logout: { url: '/api/auth/logout', method: 'post' },
          user: { url: '/api/auth/user', method: 'get', propertyName: 'user' }
        },
        tokenType: ''
      },
    },
    fullPathRedirect: true,
    watchLoggedIn: false,
  },
  axios: {
    proxy: true,		// 开启了代理,需要配置。也可在这里直接配置一个对象
    credentials: true
  },
  proxy: {	// 配置代理    
    '/api': {
      target: 'http://api.example.com', // api
      pathRewrite: {
        '^/api': '',
      },
      changeOrigin: true,
      logLevel: 'debug'
    },
  },
  1. router
    该配置项可用于覆盖 Nuxt.js 默认的 vue-router 配置。让你可以个性化配置 Nuxt.js 应用的路由。该配置有以下常用属性:
  • base:应用的根 URL。举个例子,如果整个单页面应用的所有资源可以通过 /app/ 来访问,那么 base 配置项的值需要设置为 ‘/app/’。
  • extendRoutes:扩展Nuxt.js创建的路由。您可以通过extendRoutes选项执行此操作。Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。而像404页面可能就需要我们在这两扩展一下。
router: {
    extendRoutes(routes, resolve) {
      routes.push({
        name: 'custom',
        path: '*',
        component: resolve(__dirname, 'pages/404.vue')
      })
    }
  }
  • linkActiveClass:全局配置 <nuxt-link> 组件默认的激活类名。
  • linkExactActiveClass:全局配置 <nuxt-link> 默认的 active class。
  • scrollBehavior:个性化配置跳转至目标页面后的页面滚动位置。每次页面渲染后都会调用 scrollBehavior 配置的方法。如:
router: {
    scrollBehavior(to, from, savedPosition) {
      let position:any = false
      if (
        to.matched.length < 2 &&
        to.matched.every(r => r.components.default.options.scrollToTop !== false)
      ) {
        position = { x: 0, y: 0 }
      } else if (to.matched.some(r => r.components.default.options.scrollToTop)) {
        position = { x: 0, y: 0 }
      }
      if (savedPosition) {
        position = savedPosition
      }
      return new Promise((resolve) => {
        ;(window as any).$nuxt.$once('triggerScroll', () => {
          resolve(position)
        })
      })
      // return { x: 0, y: 0 }		// 配置所有页面渲染后滚动至顶部
    },
}

其余详细配置属性请参考官方文档文章来源地址https://www.toymoban.com/news/detail-521138.html

到了这里,关于Nuxt框架基础配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nuxt.js--》解锁 Nuxt 项目的潜力:从配置开始,迈向成功

            博主今天开设Nuxt.js专栏,带您深入探索 Nuxt.js 的精髓,学习如何利用其强大功能构建出色的前端应用程序。我们将探讨其核心特点、灵活的路由系统、优化技巧以及常见问题的解决方案。无论您是想了解 Nuxt.js 的基础知识,还是希望掌握进阶技巧,本专栏都将满足

    2024年02月13日
    浏览(39)
  • Nuxt.js--》解密Nuxt.js:构建优雅、高效的现代化Vue.js应用

            博主今天开设Nuxt.js专栏,带您深入探索 Nuxt.js 的精髓,学习如何利用其强大功能构建出色的前端应用程序。我们将探讨其核心特点、灵活的路由系统、优化技巧以及常见问题的解决方案。无论您是想了解 Nuxt.js 的基础知识,还是希望掌握进阶技巧,本专栏都将满

    2024年02月16日
    浏览(59)
  • 微前端-qiankun:vue3-vite 接入 vue3、nuxt3、vue2、nuxt2等子应用

    一、了解qiankun.js qiankun - qiankun 1.1、简单, 任意 js 框架均可使用。微应用接入像使用接入一个 iframe 系统一样简单,但实际不是 iframe。 1.2、完备, 几乎包含所有构建微前端系统时所需要的基本能力,如 样式隔离、js 沙箱、预加载等。解耦,与技术无关。 1.3、生产可用, 已

    2024年02月03日
    浏览(68)
  • Nuxt3环境变量配置

    Nuxt3 正式发布还不到半年,在投入生产环境使用后,遇到了不少问题,很难找到合适的解决方案,其中环境变量配置就是其中一个,之前一直未能解决,最近要上持续集成,无法绕过这个问题,所以花了点时间研究了一下,最终找到了解决方案,记录一下。 面对一个新框架,

    2024年02月01日
    浏览(58)
  • Nuxt.js:下一代Web开发框架的革命性力量

    随着互联网的飞速发展,Web开发已经成为了当今技术领域最热门的话题之一。在这个竞争激烈的市场中,开发者们不断地寻求新的技术和工具来提高开发效率、降低维护成本。而在这个过程中,Nuxt.js作为一款革命性的Web开发框架,正逐渐成为开发者们的宠儿。本文将详细介绍

    2024年02月05日
    浏览(50)
  • 「nuxt2配置tailwindcss」nuxt2添加tailwindcss详细步骤!解决版本不对称各种报错~~复制黏贴搞定!

    node v14.21.3 (npm v6.14.18) 官方文档说明 npm install -D @nuxtjs/tailwindcss@3.4.3 tailwindcss@3.4.1 postcss@^8.4.33 autoprefixer@10.4.17 npx tailwindcss init 创建全局css文件 /assets/css/xxx.css 配置nuxt.config.js

    2024年01月24日
    浏览(30)
  • nuxt3:我们开始吧-开发-配置-部署

    一、背景介绍 2022 年 11 月 16 日,全球最大的 Nuxt 会议 Nuxt Nation 2022 在线举行,并正式发布了 Nuxt.js 3.0 的第一个稳定版本。Nuxt 3 是基于  Vite 、 Vue3  和  Nitro  的 Nuxt 框架的现代重写,具有一流的 Typescript 支持,是两年多研究、社区反馈、创新和实验的结果。为每个人提供了

    2023年04月12日
    浏览(42)
  • Nuxt+Vue3+TS+Vite入门教程

    什么是Nuxt3 Nuxt3是一个基于Vue.js的应用框架,它提供了一些默认的配置和约定,使得开发者可以更快速地构建出高质量的Vue.js应用程序。Nuxt3是Nuxt.js的下一代版本,它采用了全新的架构和设计,提供了更好的性能和可扩展性。 Nuxt3 的优势 1、更快的启动和渲染速度 2、更好的性

    2024年02月08日
    浏览(42)
  • nuxt3项目在宝塔上使用pm2放到服务器

    最近在将nuxt3项目扔到服务器上的时候遇到了一些问题,发现打包后的nuxt项目与正常的vue文件有些差别,缺失了index.html文件。 这边就记录下nuxt3项目是怎么放到服务器上的🤔 一、打包nuxt3项目 执行对应的打包命令    yarn build    二、找到打包后的文件     三、这里我使用

    2024年02月21日
    浏览(39)
  • Nuxt3 全栈 项目服务器部署 全网最全最细保姆级教程 解决各种小坑 时光小灶

    服务器:Nginx 面板:宝塔面板 个人博客:https://timebk.cn/ 原文地址:原文 第一步肯定是打包咯,前提是项目已开发好了以及没有啥Bug了哈 打包好后,你会在项目根目录下发现多了个 .output 文件夹 打开这个文件夹,将里面的所有文件压缩成压缩包 压缩包格式推荐 .rar ,其它格

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包