当前位置: 首页 > 知识库问答 >
问题:

无法读取未定义的属性(读取'分割')

公羊俊德
2023-03-14

我正在使用webpack,浏览器中出现以下错误:

Uncaught TypeError: Cannot read properties of undefined (reading 'split')
    at eval (validator.js:15)
    at Object../node_modules/axios/lib/helpers/validator.js (main.bundle.js:1225)
    at __webpack_require__ (main.bundle.js:1673)
    at eval (Axios.js:8)
    at Object../node_modules/axios/lib/core/Axios.js (main.bundle.js:1005)
    at __webpack_require__ (main.bundle.js:1673)
    at eval (axios.js:5)
    at Object../node_modules/axios/lib/axios.js (main.bundle.js:961)
    at __webpack_require__ (main.bundle.js:1673)
    at eval (index.js:1)

编译时没有错误或警告。

validator.js的第15行如下所示:var currentVerArr=pkg.version.split('.')

文件顶部有一行:var pkg=__webpack_require__(/*! ./...package.json */ "./ package.json ");

看来你需要的网页包不起作用了?

我怎样才能解决这个问题?


共有3个答案

壤驷涛
2023-03-14

我今天遇到了同样的问题。这是因为我将json文件的默认加载程序更改为文件加载程序,如下所示:

{
  type: 'javascript/auto',
  test: /\.(geo)?json$/,
  use: 'file-loader'
},

如果查看axios v0.21.4中的axios/lib/helpers/validators.js,您会看到它像这样导入package.jsonvar pkg=require('./../../package.json')

上面的配置会导致文件作为指向其URL的字符串加载,但代码假定为JS对象,并且当它尝试访问其version属性时失败。

我通过从该规则中排除axios/package.json修复了该错误:

{
  type: 'javascript/auto',
  test: /\.(geo)?json$/,
  exclude: [path.resolve(__dirname, 'node_modules/axios/package.json')],
  use: 'file-loader'
},

您的问题可能是由于您的webpack配置中的类似内容造成的。查看您的规则和配置的其他部分,了解您使用的加载器以及如何解析文件和对象。

万明辉
2023-03-14

显然,axios依赖于package.json中定义的“version”属性。但我不知道为什么。。。

但解决方案是向package.json添加一个“version”属性。任何版本。

卓正业
2023-03-14

我也遇到了同样的问题。我的axios版本是0.21.3,我尝试了很多方法,但都不起作用。最后,回到0.21.1(这个版本中没有validator.js,所以我认为这是一个bug)

npm我--保存axios@0.21.1

 类似资料:
  • 如果函数在组件中,那么一切都很好。如果我把它单独取出并导出到一个组件中,那么我会得到一个错误TypeError:不能读取未定义的属性(读取'reduce')

  • TypeError:无法读取未定义的属性(读取“to isoString”)

  • 为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用

  • 问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之

  • 我正在测试发送电子邮件与流星js和nodemailer插件: 流星添加捷运:流星NodeEmailer 当页面加载时,我在导航器的控制台上看到错误:无法读取未定义的属性“创建运输”。 那么问题是什么呢? 代码如下: /////////////////////////////////////////// ///////////////

  • 我知道这方面还有很多类似的问题,但没有一个答案是有效的。在我的例子中,我有下面的代码,我正在尝试按分数降序排列记录数组。 最后一个函数是什么给我的问题.如果用户运行以下: var web=[{url:“www.southanpton.ac.uk”,内容:“南安普敦大学提供学位课程和世界一流的研究测试。”,{url:“www.xyz.ac.uk”,内容:“另一种大学考试”},{url:“www”,内