在我的Angular + Electron 应用程序中,我试图安装一些 sqlite 库,以便从 sqlite 数据库文件中读取内容。
我已经使用以下方法安装了sqlite3:
npm install sqlite3
npm install --save-dev @types/sqlite3
我试着用它做:
import * as sqlite from 'sqlite3';
// ...
const myDb = new sqlite.Database('/path/to/file.sqlite');
但是,当应用程序构建时,它会失败:
./node_modules/sqlite3/lib/sqlite3.js 中的警告 4:14-35 关键依赖项:依赖项的请求是一个表达式
./node_modules/node-pre-gyp/lib/pre-binding.js 中的警告 20:22-48 关键依赖项:依赖项的请求是一个表达式
./node_modules/node-pre-gyp/lib/util/versioning.js 中的警告 17:20-67 关键依赖:依赖的请求是一个表达式
../node_modules/npm/lib/npm.js 中的警告 124:16-56 关键依赖项:依赖项的请求是一个表达式
../node_modules/npm/lib/npm.js 中的警告 235:10-25 关键依赖项:依赖项的请求是一个表达式
../node_modules/npm/node_modules/encoding/lib/iconv-loader.js 中的警告 9:12-34 关键依赖:依赖的请求是一个表达式
./node_modules/node-pre-gyp/lib/util/compile.js 中的警告模块未找到:错误:无法解析“/home/shin/sources/Keira3/node_modules/node-pre”中的“node-gyp” -gyp/lib/util'
./node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html 中的警告 1:0 模块解析失败:意外令牌 (1:0) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理这个文件。见 https://webpack.js.org/concepts#loaders
| |
./node_modules/node-pre-gyp/lib/info.js 中的错误找不到模块:错误:无法解析“/home/shin/sources/Keira3/node_modules/node-pre-gyp”中的“aws-sdk” /lib' ./node_modules/node-pre-gyp/lib/publish.js 中的错误 找不到模块:错误:无法解析 '/home/shin/sources/Keira3/node_modules/node- 中的 'aws-sdk' ./node_modules/node-pre-gyp/lib/unpublish.js 中的 pre-gyp/lib' 错误模块未找到:错误:无法解析 '/home/shin/sources/Keira3/node_modules 中的 'aws-sdk' /node-pre-gyp/lib' ../node_modules/npm/bin/npm-cli.js 中的错误 1:0 模块解析失败:意外字符 '#' (1:0) 您可能需要适当的加载程序来处理此文件类型,当前没有配置加载程序来处理此文件。请参阅https://webpack.js。
!/usr/bin/env 节点 | ;(function () { // 包装器,以防我们处于 module_context 模式 | // windows:在此文件夹中运行“npm blah”
将调用 WSH,而不是节点。
在此线程中发布了此问题的解决方案,它是关于将以下内容添加到 webpack 配置文件中:
externals: { 'sqlite3':'commonjs sqlite3', }
但是我不清楚在我的 Angular 应用程序中添加此类配置的位置。