当前位置:首页 > 网站源码 > 正文内容

vscode运行vue项目需要配置什么(vscode配置vue环境)

网站源码2年前 (2023-02-01)549

今天给各位分享vscode运行vue项目需要配置什么的知识,其中也会对vscode配置vue环境进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在 VS Code 中调试vue项目

1.VS Code 中安装Debugger for Chrome扩展的最新版本:

2.在config/development.config.js(官网描述的是config/index.js,所以需要根据具体的项目而定)中添加如下配置:

3.点击运行调试按钮,再点击设置按钮,修改launch.json文件,配置如下:

4.在vue项目的文件中设置断点

5.启动vue项目:

6.点击运行调试按钮,再点击运行小图标,这时会弹出新的chrome浏览器页面。

7.在弹出的浏览器窗口的页面进行操作,触发断点时会跳转掉vscode的断点处。

遇到的问题:

官网中的launch.json配置中"url": " ",url的端口是8080,这样调试时浏览器页面显示“无法显示此网页”。这里需要改成自己本地起的服务的端口号。

参考:

在 VS Code 中调试:

vscode中配置@路径提示

在使用vscode开发Vue项目的过程中,经常会使用各种路径,当你想找到src目录下的某个文件的时候,通常会用../进行定位,通过配置@路径提示后,@/就代表是src目录下了,使用起来非常方便。

具体配置如下:

安装插件:Path Intellisense

在setting.json中添加配置(此时注意要开发哪个项目就打开哪个项目,否则很有可能不生效):

jhipster with vue配置vscode debugger for microsoft edge

最近在配置vscode debugger,使用vscode调试vue页面。项目是jhipster搭的,前端部分目录结构大致如下:

在配置vscode debugger时遇到了一些问题。

最后我的launch.json部分内容如下:

到这一步,vscode中的断点已经生效了,当进入到相应的页面时,vscode中的断点会由空心圆圈变为红色。如果你的断点仍然提示not bound,说明webRoot配置的不对。

此时虽然说断点已经生效,但实际断点行数和你打断点的行数不符。我一直以为是launch.json中的webRoot和sourceMapPathOverrides配置不对,在这两个配置上折腾好久,最后发现,实际上是webpack的source-map配置问题: webpack 的 sourse-map 中 eval、cheap、inline 和 module 各是什么意思? - 卤蛋实验室 - 博客园 (cnblogs.com)

webpack-dev-server的deltools默认配置为cheap-module-eval-source-map,但是 eval参数可能会导致行映射不准 ,在chrome/edge debugger中没有问题,但是在debugger for microsoft edge中会导致行映射不准的问题。

知道问题之后解决方法也比较简单,修改dev环境的devtools为cheap-module-source-map。参考: Breakpoints in files in chrome not being hit when using webpack sourcemaps - Stack Overflow

到此,问题全部解决。不过vscode-debugger感觉做的还不够完善,比如看network还得到浏览器的console里去看(-. -||)

vue VSCode 开发设置(html自动补全、eslint保存时格式化、vetur 格式化html)

File - Preference - Setting -搜索setting.json - Edit in settings.json

settings.json

方法1:File - Preference - Setting -搜索setting.json - Edit in settings.json

settings.json

Setting.json

方法2:File - Preference - 搜索框输入:files.autoSave

之后能看到 files.autoSave 的可选项有

off : 关闭自动保存(默认)

afterDelay: 延迟xx时间后保存,可在 "files.autoSaveDelay" 中配置延迟时间;

onFocusChange: 编辑器失去焦点时自动保存;

onWindowChange: 窗口失去焦点时(编辑器窗口的切换,桌面窗口的切换)自动保存;

安装 ESLint

vscode 中安装 ESLint 插件

然后配置 vscode 的 setting.json

File - Preference - User Snippers

vue.json文件,然后添加下面模板

然后新建.vue文件 ,写下vue然后Tap键就能生成什么的模板。

如果没有生成模板只是多了个空格或者生成的是vue标签的话,我们还得设置一下,打开settings.json,添加下面的设置

如果你的Setting.json文件有 "files.associations" 设置的话,请删除,因为他会和上面 emmet.syntaxProfiles 冲突。

files.associations 和 emmet.syntaxProfiles 都是设置html 标签的补全,如果是要用.vue模板补全功能的话,html标签补全我们就用 emmet.syntaxProfiles 来设置。

vue 的开发中 vscode 可装用于开发规范的插件有

Prettier :规范js

ESLint: 规范js

Vuter: 规范 .vue 文件中 template

stylus: 规范 stylus

注意:以下配置是基于接下来介绍的插件设置的,如果没有安装插件是不会生效的。

或者:

其中:

4.如果使用了stylus,那么vscode安装stylus插件,进行设置,不适用冒号双引号大括号

根目录下创建eslint规则文件 .eslintrc.js

(下面browsers 多了s 正确的为 browser )

vsCode中编写vue项目时,webpack配置的alias别名无效

1、vsCode工具配置(settings.json文件配置所有项目可用)

解决方案一:

在插件市场中安装Path Intellisense插件并启用。根据以下提示信息,修改vsCode配置文件settings.json文件:

解决方案二:

在插件市场中安装Path Autocomplete插件并启用。根据以下提示信息,修改vsCode配置文件settings.json文件:

2、项目配置

如项目需要单独配置,可根据以下提示信息。在项目根目录中添加jsconfig.json或tsconfig.json文件:

具体配置如下:

{

  "compilerOptions": {

    // 项目根路径

    "baseUrl": "./",

    // 别名映射路径

    "paths":{

      "@/*": ["src/*"],

      "store/*": ["src/store/modules/*"]

    }

  },

  // 编译时排除以下目录文件使用配置规则

  "exclude": [

    "node_modules",

    "dist"

  ],

  // 编译时包含以下目录文件使用配置规则

  "include": [

    "./src/**/*.vue"

  ]

}

结语:vsCode工具配置别名时推荐使用第二种方案(因为第一种不太好用)

如何优雅地使用 VSCode 来编辑 vue 文件

先来扒一扒使用 PHPStorm 遇到的问题:

vue文件虽然可以通过插件来解决高亮问题,但是 script 标签中的 ES6 代码的识别老是出问题,箭头函数有的时候能正确识别,有的时候会报错

无法正确识别 vue 文件中的 jsx 语法

无法正确识别和高亮 vue 文件 style 标签中使用的 less 语法

vue文件中 template 部分使用了大量的自定义标签(自定义组件)和自定义属性,会报一堆 warning

经常性卡死

webpack实时编译的错误不能直接展示在代码编辑器内,还得自己到控制台中查看

如何安装 vscode

很简单,传送门: 官网下载安装

第一步,要支持 vue 文件的基本语法高亮

这里,我试过好3个插件: vue , VueHelper 和 vetur ,最终选择使用 vetur 。

安装插件: Ctrl + P 然后输入 ext install vetur 然后回车点安装即可。

p.s: vscode 的插件安装比 PHPStorm 的插件安装更快捷方便,安装完成后还不用重启整个程序,只要重新加载下工作区窗口就可以了。

安装完 vetur 后还需要加上这样一段配置下:

"emmet.syntaxProfiles": {

"vue-html": "html",

"vue": "html"

}

这时可以打开一个vue文件试试,注意下右下角状态栏是否正确识别为 vue 类型:

如果被识别为 text 或 html ,则记得要点击切换下。

第二步,要支持 vue 文件的 ESLint

可能还有人会问为什么要 ESLint ?没有 lint 的代码虽然也可能可以正确运行,但是 lint 作为编译前的一道检测成本更小,而且更快。此外, ESLint 还有很多规范是帮助我们写出更加优雅而不容易出错的代码的。

jshint 本来也是个不错的选择,但是 ESLint 对 jsx 的支持让我还是选择了 ESLint.

安装插件: Ctrl + P 然后输入 ext install eslint 然后回车点安装即可。

ESLint 不是安装后就可以用的,还需要一些环境和配置:

首先,需要全局的 ESLint , 如果没有安装可以使用 npm install -g eslint 来安装。

其次,vue文件是类 HTML 的文件,为了支持对 vue 文件的 ESLint ,需要 eslint-plugin-html 这个插件。可以使用 npm install -g eslint-plugin-html 来安装

接着,安装了 HTML 插件后,还需要在 vscode 中配置下 ESLint:

"eslint.validate": [

"javascript",

"javascriptreact",

"html",

"vue"

],

"eslint.options": {

"plugins": ["html"]

},

最后,别忘了在项目根目录下创建 .eslintrc.json , 如果还没创建,还可以使用下面快捷命令来创建:

这样一来 vue 中写的 js 代码也能正确地被 lint 了。

要是不小心少个括号之类的都可以有对应的报错:

多余 import 也都能报错:

还是蛮智能的。

第三步,配置构建任务

vue 项目的构建我选择用 webpack ,不过,并不是直接使用命令行下的 webpack 而是使用了 webpack 的 API 写的 node 脚本。 脚本主要有两个,一个是 build/bin/build.js 另一个是 build/bin/watch.js 分别是单次构建和实时构建。

于是乎,对应 vscode 中的 tasks 也是有两个: build 和 watch ,简单配置如下:

{

// See

// for the documentation about the tasks.json format

// use `Ctrl+P` and type `task` + SPACE + taskName to run a task

"version": "0.1.0",

"tasks": [

{

"taskName": "build",

"echoCommand": true,

"command": "node",

"args": [

"build/bin/build.js"

],

"suppressTaskName": true,

"isBuildCommand": true

},

{

"taskName": "watch",

"echoCommand": true,

"command": "node",

"args": [

"build/bin/watch.js"

],

"suppressTaskName": true,

"isBackground": true

}

]

}

这样配置好后,按 Ctrl + Shift + B 即可开始单次构建。 不过单次构建比较慢(要10秒+),一般我都用实时构建: Ctrl + P 然后输入 task watch 回车 即可开始实时构建。实时构建除了第一次比较慢,其他时候还是非常快的,一般1秒内就可以构建好。

最后,webpack 构建错误提示

webpack 构建失败后一般都会有错误提示,会显示在输出窗口中:

为啥是彩色的? 因为装了 Output Colorizer 这个插件。

当然,这样还是不够方便 -- 实时构建是后台运行的,“输出”窗口一般也都是在后台,每次保存完文件还得点开岂不麻烦。

要是能做到像 ESLint 一样直接把错误标到编辑器上面就好了。真的可以吗?翻了下 vscode 的文档,发现有神奇的 problemMatcher -- 可以对任务输出进行解析,解析出的问题会显示在“问题”窗口中,如果还有文件名行号和列号,则会在源代码编辑窗口中对应的位置标出来。

先放个最终效果:

在这个文件的第32行,import 了一个不存在的模块,这样的错误在 ESLint 中当然是检查不出来的,然而在 webpack 的实时构建中会报错:

这个事情的困难在于两点:

如何通过 problemMatcher 把这个错误给抓出来?

如何找到错误对应的行号?(如果可能的话,还有列号)

webpack的错误输出格式并不是完全统一的,而且有些还没有行号 -- 一方面可能是 webpack 的 bug ,另一方面 vue 文件在构建的时候会拆成 template, script 和 style 三个方面进行构建,报错的行号可能对不上。

最终我的解决方案是对 webpack 的错误重新格式化输出,然后匹配:

首先,重新格式化输出需要 format-webpack-stats-errors-warnings 这个包(偶新写的)

npm install --save-dev format-webpack-stats-errors-warnings

然后,到 build/bin/build.js 和 build/bin/watch.js 中在 webpack 构建完成的回调函数中增加这个格式化后的输出:

更多使用介绍见 github

最后,在 .vscode/tasks.json 中,每个任务下添加 problemWatcher :

// ...

{

"taskName": "build",

// ...

// build 任务的:

"problemMatcher": {

"owner": "webpack",

"fileLocation": [

"relative",

"${workspaceRoot}"

],

"pattern": {

"regexp": "^!(\\w+): (\\S+)?:(\\d+),(\\d+)(?:~(?:(\\d+),)?(\\d+))?: (.*)$",

"severity": 1,

"file": 2,

"line": 3,

"column": 4,

"endLine": 5,

"endColumn": 6,

"message": 7

}

}

}

{

"taskName": "watch",

// ...

// watch 任务的:

"problemMatcher": {

"owner": "webpack",

"fileLocation": [

"relative",

"${workspaceRoot}"

],

"pattern": {

"regexp": "^!(\\w+): (\\S+)?:(\\d+),(\\d+)(?:~(?:(\\d+),)?(\\d+))?: (.*)$",

"severity": 1,

"file": 2,

"line": 3,

"column": 4,

"endLine": 5,

"endColumn": 6,

"message": 7

},

"watching": {

"activeOnStart": true,

"beginsPattern": "^\\s*Webpack begin run",

"endsPattern": "^\\s*Build complete at"

}

}

// ...

}

// ...

注:在 watch 任务中,为了匹配何时开始和何时结束,我在 webpack 构建的 run 和 watch 时增加了一个 console.log('Webpack begin run') 的打印,而在构建完成后增加了一个 console.log("Build complete at ..") 的打印。

vscode运行vue项目需要配置什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vscode配置vue环境、vscode运行vue项目需要配置什么的信息别忘了在本站进行查找喔。

扫描二维码推送至手机访问。

版权声明:本文由我的模板布,如需转载请注明出处。


本文链接:http://2565999.com/post/2476.html

分享给朋友:

“vscode运行vue项目需要配置什么(vscode配置vue环境)” 的相关文章

在线订餐系统源码(基于web的订餐系统源码)

在线订餐系统源码(基于web的订餐系统源码)

本篇文章给大家谈谈在线订餐系统源码,以及基于web的订餐系统源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、餐饮微信订餐?微信订餐源代码? 2、求大神给一个食堂管理...

农村两层楼房装修要几万(农村两层楼房装修要几万块钱)

农村两层楼房装修要几万(农村两层楼房装修要几万块钱)

今天给各位分享农村两层楼房装修要几万的知识,其中也会对农村两层楼房装修要几万块钱进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、农村盖个二层楼房要多少资金?...

逆光游戏交易平台提现多久到账(逆光游戏交易平台怎么样)

逆光游戏交易平台提现多久到账(逆光游戏交易平台怎么样)

本篇文章给大家谈谈逆光游戏交易平台提现多久到账,以及逆光游戏交易平台怎么样对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、网游交易平台提现余额大概什么时候到账 2、在网...

明日斗地主2021最新版(明日斗地主2019版)

明日斗地主2021最新版(明日斗地主2019版)

今天给各位分享明日斗地主2021最新版的知识,其中也会对明日斗地主2019版进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、明日斗地主为什么加载到百分之九十就...

php邮箱发送源码(php邮件发送源码)

php邮箱发送源码(php邮件发送源码)

本篇文章给大家谈谈php邮箱发送源码,以及php邮件发送源码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、我有一个PHP发邮件的源码,但是发邮件时候不填标题跟内容也可以发...

开源企业网站管理系统(开源企业管理有限公司)

开源企业网站管理系统(开源企业管理有限公司)

本篇文章给大家谈谈开源企业网站管理系统,以及开源企业管理有限公司对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、想找人做企业官网,求推荐? 2、四川赫棋电力工程有限公司...