iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Nuxt项目怎么支持eslint+pritter+typescript
  • 209
分享到

Nuxt项目怎么支持eslint+pritter+typescript

2024-04-02 19:04:59 209人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Nuxt项目怎么支持eslint+pritter+typescript,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚手架安装好nuxt的基本

这篇文章将为大家详细讲解有关Nuxt项目怎么支持eslint+pritter+typescript,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

脚手架安装好nuxt的基本项目

npx create-nuxt-app <项目名>,如:npx create-nuxt-app nuxt-ts,按照提示安装你想要的东西,本次项目预装: Universal模式下koa+PWA+linter+prettier+axiOS ,默认的项目目录如下:

Nuxt项目怎么支持eslint+pritter+typescript

eslint + prettier + vscode 保存自动格式化&修复

本人习惯缩进为4个空格,但是eslint&nuxt生成的项目默认为2个,因此需要更改配置

  • .editorconfig文件下的indent_size: 2更改为indent_size: 4

  • .vscode/settings.JSON

{
 // 保存时eslint自动修复错误
 "eslint.autoFixOnSave": true,
 // 保存自动格式化
 "editor.fORMatOnSave": true,
 // 开启 eslint 支持
 "prettier.eslintIntegration": true,
 // prettier配置 --- 使用单引号【与.prettierrc下的配置对应】
 "prettier.singleQuote": true,
 //prettier配置 --- 结尾不加分号 【与.prettierrc下的配置对应】
 "prettier.semi": false,
 //prettier配置 --- 每行最多显示的字符数 【与.prettierrc下的配置对应】
 "prettier.printWidth": 120,
 //.Vue文件template格式化支持,并使用js-beautify-html插件
 "vetur.format.defaultFormatter.html": "js-beautify-html",
 //js-beautify-html格式化配置,属性强制换行
 "vetur.format.defaultFormatterOptions": {
  "js-beautify-html": {
   // "wrap_attributes": "force-aligned"
  }
 },
 //根据文件后缀名定义vue文件类型
 "files.associations": {
  "*.vue": "vue"
 },
 //配置 ESLint 检查的文件类型
 "eslint.validate": [
  "javascript",
  "javascriptReact",
  {
   "language": "vue",
   "autoFix": true
  },
  {
   "language": "typescript",
   "autoFix": true
  }
 ],
 "files.autoSave": "onFocusChange",
 "vetur.format.enable": false,
 "vetur.experimental.templateInterpolationService": true,
 "editor.detectIndentation": false
}

.prettierrc文件

{
 "singleQuote": true, // 使用单引号 `.vscode/settings.json` 的`prettier.semi`
 "semi": false, // 结尾不加分号 `.vscode/settings.json` 的`prettier.semi`
 "printWidth": 120 // 此项为我自加以上两项为默认,表示每行最多显示的字符数,默认为80,本人觉得太短了,因此修改了一下,必须与`.vscode/settings.json` 的`prettier.printWidth`对应上

}

.eslintrc.js文件配置

module.exports = {
 root: true,
 env: {
  browser: true,
  node: true
 },
 parserOptions: {
  parser: 'babel-eslint'
 },
 extends: [
  '@nuxtjs',
  'plugin:nuxt/recommended',
  'plugin:prettier/recommended',
  'prettier',
  'prettier/vue'
 ],
 plugins: ['prettier'],
 // add your custom rules here
 rules: {
  'nuxt/no-cjs-in-config': 'off',
  indent: ['error', 4] // 4个空格缩进
  
 }
}

nuxt.config.js文件下 build.extend(config, ctx) {}添加options.fix: true

 build: {
  
  extend(config, ctx) {
   // Run ESLint on save
   if (ctx.isDev && ctx.isClient) {
    config.module.rules.push({
     enforce: 'pre',
     test: /\.(js|vue)$/,
     loader: 'eslint-loader',
     exclude: /(node_modules)/,
     options: {
      fix: true
     }
    })
   }
  }
 }

开始改造工程支持typescript

安装所需插件

  • npm i -D @nuxt/typescript ts-node @typescript-eslint/eslint-plugin

  • npm install -S vue-class-component vue-property-decorator

修改&添加配置

package.json

添加或编辑package.json的lint脚本:
"lint": "eslint --ext .ts,.js,.vue --ignore-path .gitignore ."

修改package.jsondev 脚本中 server/index.jsserver/index.ts

"dev": "cross-env NODE_ENV=development nodemon server/index.ts --watch server",

tsconfig.json

项目目录下新建tsconfig.json文件后,在package.json文件下添加:
"start-dev": "nuxt" 脚本命令,运行npm run dev就会使用默认值自动更新此配置文件

.eslintrc.js

修改.eslintrc.js文件 parserOptions.parser: '@typescript-eslint/parser'

parserOptions: {
 parser: '@typescript-eslint/parser'
},

修改.eslintrc.js文件 plugins添加'@typescript-eslint'

plugins: ['prettier', '@typescript-eslint'],

Nuxt项目怎么支持eslint+pritter+typescript

nuxt.config.js

修改nuxt.config.js文件后缀为 nuxt.config.ts

修改nuxt.config.tsbuild.extend

{
 test: /\.ts$/,
 exclude: [/node_modules/, /vendor/, /\.nuxt/],
 loader: 'ts-loader',
 options: {
  appendTsSuffixTo: [/\.vue$/],
  transpileOnly: true
 }
}

Nuxt项目怎么支持eslint+pritter+typescript

server/index.js

修改server/index.js文件后缀为 server/index.ts

修改server/index.ts中的

const config = require('../nuxt.config.js')

// 为

const config = require('../nuxt.config.ts')

修改vue文件为typescript语法

<script>
import LoGo from '~/components/Logo.vue'

export default {
 components: {
  Logo
 }
}
</script>

typescript 语法如下:

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import Logo from '~/components/Logo.vue'

@Component({
 components: {
  Logo
 },
 middleware: 'check-auth'
})
export default class IndexPage extends Vue {}
</script>

坑点

vetur 报错 Cannot find module 'xxxx'

解决方案:import 路径 需要写清楚后缀

Nuxt项目怎么支持eslint+pritter+typescript

关于“Nuxt项目怎么支持eslint+pritter+typescript”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Nuxt项目怎么支持eslint+pritter+typescript

本文链接: https://www.lsjlt.com/news/71403.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nuxt项目怎么支持eslint+pritter+typescript
    这篇文章将为大家详细讲解有关Nuxt项目怎么支持eslint+pritter+typescript,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚手架安装好nuxt的基本...
    99+
    2024-04-02
  • Vue项目中ESLint怎么配置
    这篇“Vue项目中ESLint怎么配置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue项目中ESLint怎么配置”文章吧...
    99+
    2023-07-05
  • Node.js项目中怎么安装和使用ESLint
    这期内容当中小编将会给大家带来有关Node.js项目中怎么安装和使用ESLint,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ESLint 是一个开源 JavaScrip...
    99+
    2024-04-02
  • React项目怎么从Javascript到Typescript
    本篇内容介绍了“React项目怎么从Javascript到Typescript”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • 怎么使用React+umi+typeScript创建项目
    本篇内容主要讲解“怎么使用React+umi+typeScript创建项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用React+umi+typeScript创建项目”吧!项目框架搭建...
    99+
    2023-07-05
  • vue-cli项目中遇到的eslint坑怎么解决
    今天小编给大家分享一下vue-cli项目中遇到的eslint坑怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue-...
    99+
    2023-06-30
  • Node项目怎么配置环境并让其支持可扩展
    这篇文章主要为大家展示了“Node项目怎么配置环境并让其支持可扩展”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Node项目怎么配置环境并让其支持可扩展”这篇文...
    99+
    2024-04-02
  • java对接支付宝支付项目怎么实现
    本篇内容主要讲解“java对接支付宝支付项目怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java对接支付宝支付项目怎么实现”吧!java对接支付宝支付演示现在有不少的项目都需要对接支付...
    99+
    2023-07-02
  • Vue3和TypeScript怎么搭建完整的项目结构
    这篇文章主要讲解了“Vue3和TypeScript怎么搭建完整的项目结构”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3和TypeScript怎么搭建完整的项目结构”吧!一、项目搭建在...
    99+
    2023-06-30
  • vue项目支付功能代码怎么写
    这篇文章将为大家详细讲解有关vue项目支付功能代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.支付宝方式:支付宝方式:点击支付宝支付, 调用后台接口(携带订单号),后台返回一个f...
    99+
    2023-06-22
  • SAP不支持交货单中同一个物料多个行项目怎么解决
    这篇文章主要介绍“SAP不支持交货单中同一个物料多个行项目怎么解决”,在日常操作中,相信很多人在SAP不支持交货单中同一个物料多个行项目怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SAP不支持交货单...
    99+
    2023-06-05
  • 下载的Jenkins只支持jdk11,但是项目是用的jdk1.8,怎么配置多个jdk
    我的Jenkins用的是2.375,支持java-11-openjdk,不支持java-1.8.0-openjdk。在按照官网安装jenkins Jenkins能够正常启动。 现在项目要用jdk1.8,所以为了方便在jenkins中新添...
    99+
    2023-08-31
    jenkins java 运维
  • gitlab怎么上传到一个项目的分支中
    这篇“gitlab怎么上传到一个项目的分支中”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“gitlab怎么上传到一个项目的分...
    99+
    2023-07-05
  • vue-cli创建项目时由esLint校验导致报错或警告怎么解决
    本篇内容介绍了“vue-cli创建项目时由esLint校验导致报错或警告怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue-cli...
    99+
    2023-06-30
  • 怎么将项目上传到gitlab分支上(步骤分享)
    在GitLab上创建并上传项目的过程,在开源社区中已经成为了日常开发的标准操作。下面是在GitLab上将项目上传到分支上的步骤:第一步:创建项目在GitLab个人或者团队的项目仓库上,创建一个新仓库。可以使用GitLab上的Web界面或者G...
    99+
    2023-10-22
  • DOS批处理不支持将UNC路径作为当前目录怎么办
    这篇文章将为大家详细讲解有关DOS批处理不支持将UNC路径作为当前目录怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。打开网上邻居→整个网络→Microsofi Windows Network→在工作...
    99+
    2023-06-08
  • 开发过程怎么使用Tomcat Maven插件持续快捷部署Web项目
    本篇内容介绍了“开发过程怎么使用Tomcat Maven插件持续快捷部署Web项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作