Vue错误记录

1. 项目build的时候报错Warning: Accessing non-existent property ‘cat’ of module exports inside circular dependency

错误描述

运行 npm run build


building for production...(node:97524) Warning: Accessing non-existent property 'cat' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:97524) Warning: Accessing non-existent property 'cd' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'chmod' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'cp' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'dirs' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'pushd' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'popd' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'echo' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'tempdir' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'pwd' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'exec' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'ls' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'find' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'grep' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'head' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'ln' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'mkdir' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'rm' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'mv' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'sed' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'set' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'sort' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'tail' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'test' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'to' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'toEnd' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'touch' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'uniq' of module exports inside circular dependency
(node:97524) Warning: Accessing non-existent property 'which' of module exports inside circular dependency

解决方案:
package.json里面的 “shelljs”:版本修改为0.8.4
重新 npm i 然后npm run build即可
在这里插入图片描述

2. WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.

问题描述:

WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration.output.path: The provided value "./" is not an absolute path!
   -> The output directory as **absolute path** (required).

解决方案:
确定问题来源,检测Webpack配置文件 webpack.base.conf.js
根据错误信息,我们可以得到一些关于配置文件的提示。可能的错误信息包括缺少必需的属性、属性值的类型错误或不支持的配置选项等等。根据错误信息,逐个检查配置文件并进行调整。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Vue 中,您可以使用 try-catch 语句来捕获异常。例如: ``` try { // 这里写可能会出现异常的代码 } catch (error) { // 这里写处理异常的代码 // 例如,将异常信息记录到 txt 文件中 const fs = require('fs') fs.appendFileSync('error.txt', error) } ``` 在这段代码中,try 块中的代码是可能会出现异常的代码,如果出现异常,则会跳转到 catch 块中处理异常。在 catch 块中,我们可以使用 node.js 中的 fs 模块来将异常信息记录到 txt 文件中。 需要注意的是,Vue 是一个前端框架,并不能直接使用 node.js 中的 fs 模块。如果要在 Vue 中使用 fs 模块,您需要将 Vue 项目打包成服务器端渲染 (SSR) 应用,或者使用 Webpack 等工具将 Vue 项目打包成后端代码。 ### 回答2: 在Vue中,要将异常记录到txt文件,我们可以使用JavaScript的File API和Blob对象来实现。 首先,我们需要在Vue实例中定义一个方法来处理异常,并将异常信息写入txt文件: ```javascript methods: { logError(error) { // 创建一个Blob对象,将异常信息写入其中 const blob = new Blob([error.stack], { type: 'text/plain' }); // 创建一个临时a标签,用于下载txt文件 const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = 'error_log.txt'; // 将a标签添加到DOM中,并模拟点击下载 document.body.appendChild(link); link.click(); document.body.removeChild(link); } } ``` 然后,在需要捕获异常的地方使用try...catch语句来捕获异常,并调用logError方法将异常信息写入txt文件: ```javascript try { // ... 可能会产生异常的代码 } catch (error) { this.logError(error); } ``` 当代码中产生异常时,logError方法会将异常信息写入txt文件,并自动下载到本地。用户可以根据需要进行文件命名和存储路径的修改。 需要注意的是,该方法仅适用于前端开发环境,如果需要在后端记录异常到txt文件,可以借助Node.js的fs模块来实现相似的功能。 ### 回答3: Vue 可以通过以下步骤将异常记录到一个 txt 文件中: 1. 创建一个全局错误处理器,在 Vue 根实例的 `main.js` 文件中: ```javascript Vue.config.errorHandler = function (err, vm, info) { // 将错误信息写入到txt文件 // 参数err为错误对象,vm为Vue组件实例,info为错误信息(可选) // 可以调用一个自定义的函数writeErrorToTxt来将错误信息写入txt文件 writeErrorToTxt(err, vm, info) } ``` 2. 在写入错误信息到 txt 文件的函数 `writeErrorToTxt` 中: ```javascript function writeErrorToTxt(err, vm, info) { let errorDetails = { error: err.toString(), component: vm.$options.name, // 获取组件名称 info: info || '' // 为可选参数,用于提供额外的错误信息 } // 将错误信息转为 JSON 格式 let errorJSON = JSON.stringify(errorDetails, null, 2) // 创建一个新的 Blob 对象 let blob = new Blob([errorJSON], { type: 'text/plain' }) // 创建一个 a 标签,并设置点击事件,实现文件下载 let a = document.createElement('a') a.href = URL.createObjectURL(blob) a.download = 'error.txt' a.click() } ``` 3. 在 Vue 组件中出现异常时,错误会被全局错误处理器捕捉到,并调用 `writeErrorToTxt` 函数将错误信息写入 txt 文件。用户可以点击下载该文件以查看错误信息。 请注意,这种记录异常到 txt 文件的方法适用于开发环境和生产环境。但对于生产环境,应考虑将错误信息发送到服务器或其他日志记录系统,以便更好地追踪和处理错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值