首先我们需要安装Vue CLI来创建一个Vue项目。假设您已经安装好了Node.js和Vue CLI。
- 通过以下命令创建一个新的Vue项目:
vue create vue3-ts-eslint-prettier
在安装依赖的过程中,我们可以选择手工安装lfork ESLint、Prettier和TypeScript。这里选择手工安装便于我们更好地控制整个项目。
- 安装必要的插件
进入到项目目录,使用以下命令安装我们需要使用的插件:
npm install eslint prettier eslint-config-prettier eslint-plugin-prettier @typescript-eslint/eslint-plugin @typescript-eslint/parser --save-dev
其中,eslint
是ESLint,用于代码检查;prettier
是代码美化工具;eslint-config-prettier
和eslint-plugin-prettier
是用于把ESLint和Prettier结合在一起使用的插件;@typescript-eslint/eslint-plugin
和@typescript-eslint/parser
是用于ESLint解析TypeScript代码的插件。
- 配置ESLint和Prettier
创建一个.eslintrc.js
文件用于配置ESLint,并且覆盖掉eslint-config-standard
默认的规则。
module.exports = {
// 应用了eslint-config-standard中的默认规则
extends: [
'plugin:@typescript-eslint/recommended',
'prettier/@typescript-eslint',
'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'prettier'],
rules: {
// 覆盖掉不想要的规则
'no-console': 'off',
'@typescript-eslint/no-var-requires': 'off', // 这个规则对TypeScript引用模块产生违反
'prettier/prettier': 'error',
},
}
创建一个.prettierrc.js
文件用于配置Prettier。这里选择了一些通用的Prettier配置参数。
module.exports = {
printWidth: 80, // 单行长度
tabWidth: 2, // tab键缩进空格数
useTabs: false, // 是否使用tab符号缩进
semi: false, // 是否在行尾添加分号
singleQuote: true, // 是否使用单引号
trailingComma: 'all', // 最后一个元素后面是否加逗号
}
- 完成上述步骤后,我们来写两个示例,以说明如何合理使用这些工具:
示例1:
<template>
<div>
<p>{{ message }}</p>
<button @click="clickHandler">点击一下</button>
</div>
</template>
<script lang="ts">
import { reactive } from 'vue'
const App = {
setup() {
const data = reactive({
message: 'Hello World!',
})
const clickHandler = () => {
console.log('点击了按钮')
}
return {
...data,
clickHandler,
}
},
}
export default App
</script>
<style></style>
在这个示例中,我们使用了reactive
函数来定义一个响应式对象。在setup
函数中,我们把这个响应式对象和一个点击事件函数一起返回给模板以使用。
我们可以在这个组件内的代码任意地添加空格、换行符等,例如:
<template>
<div>
<p>
{{ message }}
</p>
<button
@click="
clickHandler
"
>
点击一下
</button>
</div>
</template>
<script lang="ts">
import { reactive } from 'vue'
const App = {
setup() {
const data = reactive({
message: 'Hello World!',
})
const clickHandler = () => {
console.log('点击了按钮')
}
return {
...data,
clickHandler,
}
},
}
export default App
</script>
<style></style>
当我们保存这个文件后,ESLint会检测出任何代码格式问题并给出相应的警告。同时,Prettier也会对代码中不符合编码规范的细节进行纠正。
示例2:
在setup
函数中,我们引入一个文件,以展示如何使用TypeScript中的import
语法。
下面,我们创建一个名为test.ts
的文件,用于测试。
function Test(params: { name: string }) {
console.log(params.name)
}
在组件中,使用import
语法引用我们刚才创建的test.ts
文件。
<template>
<div>
<p>{{ message }}</p>
<button @click="clickHandler">点击一下</button>
</div>
</template>
<script lang="ts">
import { reactive } from 'vue'
import * as Test from '@/test.ts' // 导入刚刚创建的test.ts文件
const App = {
setup() {
const data = reactive({
message: 'Hello World!',
})
const clickHandler = () => {
Test({ name: 'TypeScript' })
}
return {
...data,
clickHandler,
}
},
}
export default App
</script>
<style></style>
这个示例中,我们使用* as
语法来导入一个名为Test
的变量,这个变量直接指向了我们在test.ts
文件中导出的函数。在企业开发中,使用TypeScript的import
语法来管理模块依赖是一个非常好的选择。
这就是我们的完整攻略,可以使用以上方法实现Vue3+TypeScript+ESLint+Prettier规范代码的开发环境。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue3+ts+EsLint+Prettier规范代码的方法实现 - Python技术站