首页 前端知识 解决“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”的报错

解决“Error: xxx.js 已被代码依赖分析忽略,无法被其他模块引用”的报错

2024-04-20 17:04:07 前端知识 前端哥 744 798 我要收藏

开发微信小程序的时候,报错内容如下: 

错误原因:

微信开发者工具从 1.05.2201210 版本开始,对小程序项目新增了无依赖文件过滤能力。

如果某个 js 文件被静态分析显示是无依赖文件,在实际运行时又被其他 js 文件 require 引用了,则会在工具模拟器中报错这个错误。

此时,如果你继续预览或者上传代码,则在真机运行环境中会报 xxx.js is not defined 的错误。

解决方式:

  1. 修改依赖引用的代码:可根据控制台中的【代码依赖分析异常】提示进行修改。(推荐)
  2. 关闭过滤无依赖文件:project.config.json 中 settings 选项添加 ignoreDevUnusedFiles: false , ignoreUploadUnusedFiles: false

详细分析:

微信开发者工具的无依赖文件过滤能力,是基于代码静态依赖分析的数据来实现的。

也就是会分析小程序项目中的代码内容,如果发现某个 js / wxml / wxss / json 文件没有被使用到,则会将其列为无依赖文件。

无依赖文件在模拟器运行时会被忽略,在上传时也不会打入代码包中,因此可以有效减少代码包大小。

但由于 js 代码的灵活性,代码静态依赖分析功能在某些情况下,无法准确分析出依赖引用关系(控制台中会有对应的 warning 提示),此时部分 js 文件会被误判为无依赖文件,导致报错。开发者需配合提示信息修改代码,才能继续使用此功能。

导致依赖异常的常见情况:

  1. 动态引用的情况,如 var a = 'somefile.js'; require(a);
  2. 将 require 函数赋值给其他变量的情况,如 var a = require; a('somefile.js');

 

或者看下面的解决办法: 

小程序 已被代码依赖分析忽略,无法被其他模块引用。你可根据控制台中的【代码依赖分析】告警信息修改代码,或关闭【过滤无依赖文件】功能_已被代码依赖分析忽略,无法被其他模块引用_鹏仔工作室的博客-CSDN博客

 

转载请注明出处或者链接地址:https://www.qianduange.cn//article/5454.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!