package.json
"name": "billingapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"rebuild": "electron-rebuild -f -w billingapp"
},
"author": "S Kundu",
"license": "ISC",
"dependencies": {
"electron": "^1.7.11",
"sqlite3": "^3.1.13"
}
"devDependencies": {
"electron-rebuild": "^1.7.3"
}
index.js
const electron = require('electron');
const path = require('path');
const url = require('url');
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(path.join(__dirname, 'sample.db'));
const {app, BrowserWindow, Menu, ipcMain} = electron;
let mainWindow;
app.on('ready', function(){
// Create the login window
mainWindow = new BrowserWindow({
resizable: true,
fullscreen: false
});
// Load html in window
mainWindow.loadURL(url.format({
pathname: path.join(__dirname, 'login.html'),
protocol: 'file:',
slashes: true
}));
});
login.html
<h1>Welcome to billing system</h1>
这些是代码文件。
安装NPM软件包的步骤
npm install electron
npm install sqlite3
当我移除贝娄代码时,它的工作非常完美:
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(path.join(__dirname, 'sample.db'));
但是使用这段代码,在运行时
npm start
正在获取贝娄错误:
应用程序在加载过程中抛出错误
错误:在module._resolveFileName(module.js:470:15)在function.module._resolveFileName(C:\users\sintu\desktoch\billingsystem\node_module\electronic\dist\resources\electronic.asar\common\reset-search-paths.js:35:12)在function.module._load(module.js:418:25)在module.require(module.js:498:17)在required((C:\users\sintu\desktop\billingsystem\node_modules\sqlite3\lib\sqlite3.js:4:15)对象。(C:\users\sintu\desktoes\billingsystem\node_module\sqlite3\lib\sqlite3.js:190:3)在module._compile(module.js:571:32)在object.module._extensions.js(module.js:580:10)在module.load(module.js:488:32)
当我运行npm run rebuild时,我得到了bellow错误
×重建失败
在electron-rebuild构建此解决方案中的项目时,出现了一个未处理的错误。要启用并行构建,请添加“/M”开关。C:\users\sintu\desktop\billingapp\node_modules\sqlite3\build\deps\action_before_build.vcxproj(20,3):错误MSB4019:找不到导入的项目“C:\microsoft.cpp.default.props”。确认声明中的路径是正确的,并且文件存在于磁盘上。gyp err!构建错误gyp错误!堆栈错误:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
失败,退出代码:1 gyp ERR!在childprocess.onexit处堆栈(C:\users\sintu\desktop\billingapp\node_modules\node-gyp\lib\build.js:258:23)gyp错误!在emitTwo(events.js:126:13)处堆栈gyp错误!在childprocess.emit(events.js:214:7)处堆栈gyp错误!在process.childprocess._handle.onexit处堆栈(internal/child_process.js:198:12)gyp错误!系统Windows_NT 6.1.7601 gyp错误!命令“C:\Program Files\nodejs\node.exe”“C:\users\sintu\desktop\billingapp\node_modules\node-gyp\bin\node-gyp.js”“rebuild”“--target=1.7.11”“--arch=x64”“--dist-url=https://atom.io/download/electronic”“--build-from-source”“--module_name=node_sqlite3”“cwd C:\users\sintu\desktop\billingapp\node_modules\sqlite3 gyp err!node-v v8.9.1 gyp err!node-gyp-v v3.6.2 gyp错误!不确定
失败,退出代码:%1
错误:在此解决方案中一次生成一个项目。要启用并行构建,请添加“/M”开关。C:\users\sintu\desktop\billingapp\node_modules\sqlite3\build\deps\action_before_build.vcxproj(20,3):错误MSB4019:找不到导入的项目“C:\microsoft.cpp.default.props”。确认声明中的路径是正确的,并且文件存在于磁盘上。gyp err!构建错误gyp错误!堆栈错误:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
失败,退出代码:1 gyp ERR!在childprocess.onexit处堆栈(C:\users\sintu\desktop\billingapp\node_modules\node-gyp\lib\build.js:258:23)gyp错误!在emitTwo(events.js:126:13)处堆栈gyp错误!在childprocess.emit(events.js:214:7)处堆栈gyp错误!在process.childprocess._handle.onexit处堆栈(internal/child_process.js:198:12)gyp错误!系统Windows_NT 6.1.7601 gyp错误!命令“C:\Program Files\nodejs\node.exe”“C:\users\sintu\desktop\billingapp\node_modules\node-gyp\bin\node-gyp.js”“rebuild”“--target=1.7.11”“--arch=x64”“--dist-url=https://atom.io/download/electronic”“--build-from-source”“--module_name=node_sqlite3”“cwd C:\users\sintu\desktop\billingapp\node_modules\sqlite3 gyp err!node-v v8.9.1 gyp err!node-gyp-v v3.6.2 gyp错误!不确定
失败,退出代码:1位于SafeSubscriber._ERROR(C:\users\sintu\desktop\billingapp\node_modules\spawn-rx\lib\src\index.js:277:84)位于SafeSubscriber.__tryorunsub(C:\users\sintu\desktop\billingapp\node_modules\rxjs\subscriber.239:16)位于SafeSubscriber.ERROR(C:\users\sintu\desktopSktop\billingapp\node_modules\rxjs\subscriber.js:186:22)npm err!code ELIFECYCLE npm err!errno 4294967295 npm err!billingapp@1.0.0 rebuild:electron-rebuild-f-w billingapp
npm err!退出状态4294967295 npm err!npm err!billingapp@1.0.0 rebuild脚本失败。npm err!这可能不是npm的问题。上面可能有其他日志记录输出。
npm错误!此运行的完整日志可以在:npm err!C:\users\sintu\appdata\roaming\npm-cache_logs\2018-01-30t15_36_46_678z-debug.log
您的脚本似乎有很多问题,但SQLite也遇到了一个罕见的问题。
0)您可以在这里找到我的Github源代码,该源代码一直在运行,直到出现此错误:
Cannot read property 'on' of undefined
但那是另一个问题:D
1)您的package.json格式不正确(例如,没有启动脚本)
新建package.json
{ // there was no begining bracket
"name": "billingapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"rebuild": "electron-rebuild -f -w billingapp",
"start": "node index.js" // new start script
},
"author": "S Kundu",
"license": "ISC",
"dependencies": {
"electron": "^1.7.11",
"sqlite3": "^3.1.0" // I used this version
},
"devDependencies": {
"electron-rebuild": "^1.7.3"
}
}
2)当我安装sqlite时,遇到了这个问题https://github.com/mapbox/node-sqlite3/issues/758
sqlite3似乎不能与nodejs的最后一个版本一起使用,因此您需要安装Node@8.9.3您可以使用nvm来实现:
请参阅关于sqlite3问题的注释
treedbox于2017年12月20日发表评论
我的Spring启动应用程序, 在获得Whitelabel错误页面后,我在我的一个控制器中映射了, 我映射了一个,出现以下异常:, 遵循User9123的解决方案,但是,我仍然得到下面的页面,
问题内容: 我见过的每一个tkinter教程都声称必须绘制窗口并处理事件,并且它们总是调用此函数,即使在hello world程序中也是如此。但是,当我在交互式外壳程序中尝试这些方法时,可以正确绘制窗口,而不必调用mainloop。 这个在tkinter中嵌入matplotlib图形的示例产生了一个相对复杂的应用程序,它具有用于在tkinter窗口内平移,缩放和调整图大小的按钮,而且,如果您删除对
问题内容: 我有一个使用此函数运行线程的代码示例。我们为什么以及何时需要使用它? 编辑 怎么样来使用类,什么是和? 问题答案: 当您要从非UI线程更新UI时必须使用。例如-如果您想从后台线程更新UI。您也可以将其用于同一件事。 从文档- 在UI线程上运行指定的操作。如果当前线程是UI线程,则立即执行该操作。如果当前线程不是UI线程,则将操作发布到UI线程的事件队列。 句法 - 更新- 如果您要执行
问题内容: 我的任务是使用WorldWind API创建应用程序,并且为了熟悉API,我尝试运行“ HelloWorldWind”示例应用程序。当我这样做时,我得到以下错误堆栈: 如下: 由于我在64位系统上运行,因此在网上阅读一些东西时,人们会感到责备,但是,我的构建路径中已经包含了必要的jar。 此外,尝试在浏览器中显示上述URL会返回404页面,这使我认为这可能是原因 。URL只是格式化某些
我添加Nuget Package Install-Package MvcSiteMapProvider.MVC4 编译器错误消息: CS1705:程序集'MvcSite Map提供者,版本=4.6.18.0,文化=中性,公共密钥令牌=1923abe4657913cc'使用'System. Web. Mvc,版本=4.0.0.0,文化=中性,公共密钥令牌=31bf3856ad364e35',其版本高
然而,当我运行该应用程序编译并将其安装到我的手机中时,它比Eclipse需要更多的时间。 我点击run,它开始创建应用程序。这些任务是:。在完成时说。然后它装载它。 问题是,有时它可能只需要20秒,但其他时候2-3分钟。这是烦人的等待时间。是否必须在每次编译之前运行此执行?我可以关闭它或缩短它的时间吗? 如果这个问题不准确,我很抱歉,但我不熟悉grandle在AS中是如何完全工作的。