gpt4 book ai didi

angularjs - 如何将现有的 Angular 应用程序移植到 Electron ?

转载 作者:行者123 更新时间:2023-12-02 10:22:02 24 4
gpt4 key购买 nike

我是 Angular 的初学者,也是 Electron 的菜鸟。我想知道是否可以通过使用 Web 应用程序的大部分现有代码库将现有的 Angular 应用程序移植到 Electron?

我找到了一些关于此的链接,但在 Google 上发现的不多。大多数结果都谈到从 Angular 和 Electron 开始创建一个桌面应用程序 - 这是我的意图,但我想使用大部分现有的代码库,理想情况下只需添加 webpack 和 Electron 相关配置即可从现有代码库编译 electon 应用程序,因为我不想维护同一代码库的两个版本。

我可以使用这个桥来访问 Electron API(尽管我不确定它是如何连接在一起的) https://github.com/develephant/ngElectron

人们通常做什么?

最佳答案

以下是我将 Electron 添加到现有 AngularJS 应用程序的步骤。
1. 克隆现有的 Angular 应用git clone https://github.com/angular/angular-seed.git
2. cd Angular 种子
3. npm install --save electro
4. 在/app 中,创建 main.js 文件并粘贴:

const electron = require('electron')
// Module to control application life.
const app = electron.app
// Module to create native browser window.
const BrowserWindow = electron.BrowserWindow

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow

function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({width: 800, height: 600})

// and load the index.html of the app.
mainWindow.loadURL(`file://${__dirname}/index.html`)

// Open the DevTools.
//mainWindow.webContents.openDevTools()

// Emitted when the window is closed.
mainWindow.on('closed', function () {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null
})
}

// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', function () {
// On OS X it is common for applications and their menu bar
// to stay active until the user quits explicitly with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}
})

app.on('activate', function () {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (mainWindow === null) {
createWindow()
}
})

// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
  • 在/app 中,创建一个空白的 renderer.js 文件。
  • 在 package.json 的根目录中添加 "main": "main.js"
  • 在 package.json 的“scripts”部分中,将“start”更改为 “start”:“electron .”
  • npm install && npm start
  • 关于angularjs - 如何将现有的 Angular 应用程序移植到 Electron ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38708419/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com