2017-04-25 59 views

回答

3

这很让人困惑,但是没有办法用Angular2创建本地桌面应用程序。也许这是未来的计划,但目前尚不可能。但是Angular2在Electron上工作得很好!我写了一篇博客吧,可惜它是德文:(但是,也许你可以简单地使用谷歌翻译翻译一下:https://medium.com/@baerree/ich-packe-meine-koffer-angular-cli-electron-ii-28644342b956

基本上,你需要运行此处描述的步骤: http://www.blog.bdauria.com/?p=806

后在你的应用程序周围建立电子骨架,并执行链接中描述的Angular2配置步骤,有一件事要做:

电子范围在你的Angular2范围内缺失,也就是说,如果你想访问它,你需要在Angular2中管道电子,这是通过在index.html中添加以下内容来完成的(注意,这不是一个清除氮营养液):

<script> 
    var electron = require('electron'); 
</script> 

你这样做之后,你需要告诉打字稿,有一个电子可变现在,通过添加以下内容到typescript.d.ts:

declare var electron: any; 

可以现在通过电话访问Angular2里面的电子:

var app = electron.remote.app; 

与应用程序变量你可以完全访问电子和你的electron.js文件。例如。你可以做这样的事情:

this.title = app.getAppPath(); 

我希望这有助于至少一点:)

干杯

2

那么你必须有某种形式的包装。角度2本身不能创建桌面应用程序。 Angular是纯粹的网络技术,因此适用于浏览器。像电子这样的框架会创建一个浏览器包装来欺骗用户,使其认为应用程序不是像Chrome这样的浏览器。

话虽如此,要完全回答你的问题,你可以使用asp核心和Universal Windows Platform创建一个无电子角2应用程序,它允许你在javascript,html和css中开发,这正是角度所在。然而,您然后被锁定到.net和唯一的Windows桌面应用程序。其中,如果你只是开发窗口,那么这是一个更好的解决方案,然后电子恕我直言。

另请注意,您可能会编写一些C#配置。

也有替代电子这几乎做同样的事情(浏览器的包装)

http://appjs.com/

https://nwjs.io/