我正在尝试将使用create-react-app
构建的电子应用程序转换为ViteJS
。到目前为止,我已经设法修复了很多东西,但我对我们的一个依赖关系有问题。
出于性能考虑,我的项目使用了一个内置在golang中的内部库,并且从电子应用程序的主进程调用该库。但是,当运行vite build
时,我得到以下错误。
[commonjs--resolver] Unexpected character '�' (Note that you need plugins to import files that are not JavaScript)
下面的代码行会发生这种情况
module.exports = require('./build/Release/goapi.node');
goapi.node
是编译库。这个库是使用node-gyp编译的,我100%确定编译是正确的,因为它使用的是当前使用create-react-app的设置。
是否有插件添加到vite
配置中以支持导入本机模块?如果没有,我如何解决这个问题?
1条答案
按热度按时间a9wyjsp71#
我在将node-pty添加到基于Electron Forge的Vite + TypeScript template的项目中时遇到了类似的问题。
我的解决方案是在Rollup配置中将node-pty标记为external,这会告诉Rollup将该模块保持在bundle的外部。
在我的“vite.main.config.ts”文件(专门用于编译Electron主进程)中,我在“defineConfig”中添加了一个“build”部分来定义这个Rollup选项: