IDE环境搭建

  1. 安装nodejs
    vue 需要使用nodejs,nodejs 安装和版本管理可以参考前端知识整理-nodejs

  2. 安装vue-cli/vite
    如果使用的是vue2,则安装vue-cli(vue-cli目前已经不维护了);如果是vue3,vue-cli和vite都可以创建,但是推荐使用vite,因为vite的效率更高。关于vite的介绍可以参考前端知识整理-vite篇

  • 安装vue-cli

    1
    2
    3
    4
    5
    # 全局安装vue-cli
    npm install -g @vue/cli

    # 查看vue-cli版本
    vue -V 或者 vue --version
  • 安装vite

    1
    2
    # vite 的安装和创建项目是同一条命令
    npm create vue@latest
  1. 安装vscode
    vscode 一个轻量级的代码编辑器,插件库十分丰富,是一个前端开发利器。官网下载安装即可。

创建vue项目(vue2为例)

因为是创建vue2项目,所以我们使用vue-cli命令。

1
2
3
4
5
6
7
8
# 创建项目(此命令会触发后续步骤,自己按需求选择)
vue create [project name]

# 安装依赖
npm install

# 启动项目
npm run serve

vscode代码格式化settings.json配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"editor.tabSize": 2,
// #值设置为true时,每次保存的时候自动格式化;值设置为false时,代码格式化请按shift+alt+F
"editor.formatOnSave": false,
// #每次保存的时候将代码按eslint格式进行修复
"eslint.autoFixOnSave": true,
// 添加 vue 支持
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
],
// #让prettier使用eslint的代码格式进行校验
"prettier.eslintIntegration": true,
// #去掉代码结尾的分号
"prettier.semi": false,
// #使用带引号替代双引号
"prettier.singleQuote": true,
// "prettier.tabWidth": 1,
// #让函数(名)和后面的括号之间加个空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// #让vue中的js按"prettier"格式进行格式化
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
// #vue组件中html代码格式化样式
"wrap_attributes": "force-aligned", //也可以设置为“auto”,效果会不一样
"wrap_line_length": 200,
"end_with_newline": false,
"semi": false,
"singleQuote": true
},
"prettier": {
"semi": false,
"singleQuote": true
}
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 格式化stylus, 需安装Manta's Stylus Supremacy插件
"stylusSupremacy.insertColons": false, // 是否插入冒号
"stylusSupremacy.insertSemicolons": false, // 是否插入分号
"stylusSupremacy.insertBraces": false, // 是否插入大括号
"stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
"stylusSupremacy.insertNewLineAroundBlocks": false,
"prettier.useTabs": true,
"files.autoSave": "off",
"explorer.confirmDelete": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"diffEditor.ignoreTrimWhitespace": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.detectIndentation": false,
"workbench.startupEditor": "none",
"security.workspace.trust.untrustedFiles": "open",
"go.toolsManagement.autoUpdate": true,
"[python]": {
"editor.formatOnType": true
},
"emmet.syntaxProfiles": {},
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"emmet.preferences": {},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.codeActionsOnSave.rules": null,
"html.format.contentUnformatted": "",
"c-cpp-flylint.webQueryMatchSet": [
"misra-"
],
"cmake.configureSettings": {},
"diffEditor.hideUnchangedRegions.enabled": true,
"Lingma.LocalStoragePath": "/Users/whitewei/.lingma",
"workbench.settings.applyToAllProfiles": [

] // 两个选择器中是否换行
}

参考

vue-cli