Webpack-找不到模块:错误:无法解析“ node_modules \ chokidar \ lib”

问题描述

当我使用npm软件包“ Electron-reload”编译我的Electron应用程序时。我有一个错误。 显然,Electron-reload使用chokidar监视我的应用程序文件,因此当检测到文件更改时,它可以重新加载它。

使用webpack编译电子主进程时出现错误

ModuleNotFoundError: No module named 'bed_pipeline'

运行电子应用程序时出现错误

WARNING in ./node_modules/chokidar/lib/fsevents-handler.js
Module not found: Error: Can't resolve 'fsevents' in 
'C:\[...]\node_modules\chokidar\lib'

我无法从Electron-reload,chokidar或webpack网上找到任何有用的东西。这是我的webpack.config.js

TypeError: Cannot read property 'filename' of undefined
 at Object.eval (webpack:///./node_modules/electron-reload/main.js?:12:32)
 at eval (webpack:///./node_modules/electron-reload/main.js?:86:30)
 at Object../node_modules/electron-reload/main.js (C:\[...]\dist\Electron\app.js:322:1)
 at __webpack_require__ (C:\[...]\dist\Electron\app.js:20:30)
 at eval (webpack:///./Electron/app.ts?:5:5)
 at Object../Electron/app.ts (C:\[...]\dist\Electron\app.js:109:1)
 at __webpack_require__ (C:[...]\dist\Electron\app.js:20:30)
 at C:\[...]\dist\Electron\app.js:84:18
 at Object.<anonymous> (C:\[...]\dist\Electron\app.js:87:10)
 at Module._compile (internal/modules/cjs/loader.js:1145:30)

感谢您的帮助。

解决方法

好的,我没有解决原始问题。但是由于我只想在更改文件时重新加载电子渲染过程,所以我找到了另一种无需“电子重新加载”的方式

在渲染主窗口的函数中,我添加了:

import {join} from 'path';
import {watch} from 'fs';

app.whenReady().then(()=>{
   watch('./Dist/Client/',(eventType,filename)=>{ win.reload(); })
} 

现在一切正常。