我的环境是
vue+electron 7.1.1+sqlite3
在集成sqlite3的时候出现两个问题(安装python27和node-pre-gyp环境以及vstools略过)
1.
Module not found: Can't resolve 'aws-sdk'
2.
Cannot read property '_handle' of undefined
这两个问题是接连发生的,始终不能正常使用sqlite3.
倒腾了各种办法,最后我的解决方案:
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath,
libraryTarget: 'commonjs2'
},
externals: {
sqlite3: 'sqlite3'
}
这里参考了
https://github.com/mapbox/node-sqlite3/issues/1029#issuecomment-414116796
但是在我的环境里并不可以使用
我略微做了修改,重要代码:
libraryTarget: 'commonjs2'
sqlite3: 'sqlite3'
现在已经可以正常使用了。
如果你因为我的解决方案解决了个这个棘手的问题,请把他分享给需要帮助的人,并且给与我的地址。