自学内容网 自学内容网

VUE常见问题汇总

目录

1、80端口占用问题

2、sass版本安装问题

3、Missing binding node_modules/node-sass/vendor/darwin-x64-72/binding.node

4、Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-83_binding.node  Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-83_binding.node":

5、webstorm Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本

6、 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):

7、This is probably not a problem with npm. There is likely additional logging output above.

8、启动vue项目,警告提示browserslist@latest --update-db

9、This is probably not a problem with npm. There is likely additional logging output above.

10、在VUE3+WebPack  >5开发时遇到Module not found: Error: Can’t resolve ‘crypto’错误

11、No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

12、npm ERR! Maximum call stack size exceeded


1、80端口占用问题

sudo lsof -n -P | grep :80

2、sass版本安装问题

https://github.com/sass/node-sass/releases

node@14.3.0

node-sass@4.14.1

sass-loader@7.3.1

NodeJS

Supported node-sass version

Node Module

Node 17

7.0+

102

Node 16

6.0+

93

Node 15

5.0+,

88

Node 14

4.14+

83

Node 13

4.13+,

79

Node 12

4.12+,

72

Node 11

4.10+,

67

Node 10

4.9+,

64

Node 8

4.5.3+,

57

Node

npm uninstall node-sass

npm uninstall sass-loader

npm install sass-loader@^6.0.1 node-sass@^10.2.0 --save-dev //安装对应的版本

3、Missing binding node_modules/node-sass/vendor/darwin-x64-72/binding.node

找到node-sass链接,进入url:https://github.com/sass/node-sass/releases

.../node_modules/node-sass/vendor目录下新建目录 darwin-x64-72,将下载的文件放在此目录下,并更名为binding.node

或者使用以下淘宝镜像

npm install node-sass@4.14.1 --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

4、Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-83_binding.node  Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-83_binding.node":

binding.node下载后放到 node_modules\node-sass\vendor\win32-x64-83 目录下

5、webstorm Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本

转到“开始”菜单,然后搜索“ Windows PowerShell ISE”。 右键单击x86版本,然后选择“以管理员身份运行”。

在顶部,粘贴Set-ExecutionPolicy RemoteSigned ; 运行脚本。 选择“全是”。

对64位版本的Powershell ISE(非x86版本)也重复这些步骤。

6、 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):

在执行npm install 可能报错如下错误:

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

经查询发现,fsevent是mac系统的,在win或者Linux下使用了,所以会有警告,忽略即可。fsevent的作用是能够检测文件目录的修改,可以记录恶意软件的非法操作,获取恶意软件的完整路径,删除和修改日期。

7、This is probably not a problem with npm. There is likely additional logging output above.

如果出现这种报错情况,需要重新安装 node_modules 文件夹中的内容 但是在安装前,要把之前的内容都清空掉

由于npm install之后,会记录信息,把之前装的删除

rm -rf node_modules

rm package-lock.json

npm cache clear --force

npm install

8、启动vue项目,警告提示browserslist@latest --update-db

浏览器列表:caniuse lite已经过时。 这是一个警告,不是错误,不影响你项目的运行。

你不管它,也没关系,现在咱们说的是怎么去掉它。

看,package.json文件,里面有Browserslist这一项

browserslist做什么用的?

根据提供的目标浏览器的环境来,智能添加css前缀。

只要package.json配置了browserslist对象,需要的组件将自动匹配到并使用。

执行:npx browserslist@latest --update-db

9、This is probably not a problem with npm. There is likely additional logging output above.

删除 node_modules 文件夹

删除 package-lock.json 文件

npm cache clean --force

npm install

10、在VUE3+WebPack  >5开发时遇到Module not found: Error: Can’t resolve ‘crypto’错误

原因是由于在webpack5中移除了nodejs核心模块的polyfill自动引入,所以需要手动引入

npm install node-polyfill-webpack-plugin const NodePolyfillPlugin = require('node-polyfill-webpack-plugin') module.exports = defineConfig({ configureWebpack: { plugins: [new NodePolyfillPlugin()] } })

11、No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

在vue项目的vue.config.js 中配置网络请求代理,代码如下:

devServer: {
 proxy: {
    '/api': { // 匹配所有以 /api 开头的请求路径
    target: 'url',//指定代理的目标服务器地址,即后端服务的实际地址。
    pathRewrite:{
       '^/api':'' //将请求地址中的/api替换为空字符
     },
    changeOrigin: true
   }
 }
}

网络请求代理原理:

一个项目可以分为三个部分,浏览器,前端服务器,后端服务器。浏览器首先会向前端服务器发出请求,拿到页面,然后再向后端发出请求,拿到数据填充到页面中。但是由于浏览器的同源策略,当浏览器向再向后端发出请求时,就会报错。
网络请求代理的原理是,在前端服务器中设置一个网络代理,如下图,当浏览器发出以 api 开头的请求时,可以认为是请求后端的数据,否则是请求页面。 当请求后端的数据时,就在前端服务中设置一个访问后端的目标url,这个url访问到数据后,响应给浏览器,这样浏览器就只需要和前端服务器进行交互,间接避免了浏览器的同源策略。

12、npm ERR! Maximum call stack size exceeded

错误的原因,npm版本问题;

解决办法:

  1 更新到最新版本:npm install npm -g 要记住全局更新

  2 回退版本:npm install -g npm@5.4.0


原文地址:https://blog.csdn.net/shimiso/article/details/144444860

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!