node:internal/modules/cjs/loader:963 Uncaught (in promise) Error: Cannot find module '../../../static/js/webuploader' Require stack: - electron/js2c/renderer_init
时间: 2023-07-04 13:27:43 浏览: 204
node.js手册中文版
4星 · 用户满意度95%
这个错误是因为 Node.js 在查找模块时默认从 `node_modules` 目录下查找,而 `../../../static/js/webuploader` 路径并不在 `node_modules` 目录下。因此需要指定正确的路径来解决这个问题。
可以使用 `path` 模块来获取正确的路径。具体步骤如下:
1. 在 `renderer` 进程中,使用 `path.resolve` 方法获取 `webuploader.js` 的正确路径。代码如下:
```javascript
const path = require('path')
const webuploaderPath = path.resolve(__static, 'js/webuploader.js')
```
其中,`__static` 是 Electron 提供的全局变量,指向应用程序的 `static` 目录。
2. 在需要使用 WebUploader 的组件中使用 `remote.require` 方法引入 `webuploader.js` 文件,代码如下:
```javascript
const { remote } = require('electron')
export default {
name: 'Uploader',
data() {
return {
uploader: null
}
},
mounted() {
// 引入 WebUploader
const WebUploader = remote.require(webuploaderPath)
// 初始化 WebUploader
this.uploader = WebUploader.create({
// ...配置
})
// ...其他逻辑
}
}
```
这样就可以在 Electron + Vue3 + Vite 中使用 WebUploader 了。
阅读全文