node.js - Electron - 构建应用程序时找不到模块“应用程序”
问题描述
我坚持使用角度构建电子应用程序。
这是日志
App threw an error during load
Error: Cannot find module 'app'
Require stack:
- /Users/saikrishna/Documents/Angular/popsql/main.js
- /Users/saikrishna/Documents/Angular/popsql/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js
-
at Module._resolveFilename (internal/modules/cjs/loader.js:627:15)
at Function.Module._resolveFilename (/Users/saikrishna/Documents/Angular/popsql/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/common/reset-search-paths.js:41:16)
at Function.Module._load (internal/modules/cjs/loader.js:531:27)
at Module.require (internal/modules/cjs/loader.js:685:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/Users/saikrishna/Documents/Angular/popsql/main.js:2:13)
at Module._compile (internal/modules/cjs/loader.js:786:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:798:10)
at Module.load (internal/modules/cjs/loader.js:645:32)
at Function.Module._load (internal/modules/cjs/loader.js:560:12)
这是我的 main.js
const electron = require('electron');
const app = require('app');
const BrowserWindow = require('browser-window')
let mainWindow
app.on('ready', _ => {
mainWindow = new BrowserWindow({
height: 400,
width: 400
})
mainWindow.on('closed', _ => {
console.log('closed')
mainWindow = null
})
})
启动节点服务器node main.js
并且npm start
是相同的node main.js
尝试重新安装电子。
将电子从开发依赖项移动到依赖项
删除 node_modules 然后npm install
然后我改为
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
现在,不同的错误
/Users/saikrishna/Documents/Angular/popsql/main.js:10
app.on('ready', _ => {
^
TypeError: Cannot read property 'on' of undefined
at Object.<anonymous> (/Users/saikrishna/Documents/Angular/popsql/main.js:10:5)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
有什么我应该尝试让电子工作的吗
解决方案
电子就像科尔多瓦,这个变量只有在你运行电子时才会初始化,我的建议?使用这个库https://github.com/ThorstenHans/ngx-electron
请记住,电子不能像 ng serve 那样工作,您必须构建 Angular 应用程序,并且它们使用电子主 js 文件运行。当电子应用程序启动时,电子全局变量将被初始化。
推荐阅读
- javascript - JS中的变量提升
- spock - 放心 - 在多次重定向后验证最后一页的 url
- cmake - 找不到“Eigen3”(请求的版本 3)提供的包配置文件?
- python - 在数据框中创建一个新列,其中包含列表中该行的其他列的值
- html - 实时服务器不刷新vscode中的页面
- ios - 是否可以在 Swift 的启动屏幕中显示额外的图像和按钮
- flutter - 为什么 ListView 直接在 Column 内部使用时会导致渲染错误?
- database - 数据库设计:如何表示关系中的条件?
- c# - iText7 - 将文本添加到现有 pdf 的底部
- azure - Azure 数据工厂:如何在复制或导入期间重命名 blob 存储中的 blob csv 或文本文件?