2016-07-12 11 views
1

Ich möchte wissen, ob es ein Werkzeug oder eine Methode gibt, um eine Javascript-Anwendung zu entwickeln und sie entweder im Browser Javascript oder in einer nativen Anwendung mit nwjs oder Atom Electron bereitzustellen.
Natürlich müsste es Browser-kompatible Funktionen und nicht native Features von Knoten verwenden.
Ich denke, es ist nur eine Frage des Bündelns der Dateien, aber vielleicht gibt es dafür bereits ein Werkzeug.JS App in Browser und nw.js oder Atom Electron bereitstellen?

+1

Da dies nicht der gleichen Umgebung ist, ich weiß nicht, ob ihre möglich, das zu tun. Aber Sie haben coole Libraries wie [browserify] (http://browserify.org/). Ich werde es dir sagen, wenn ich mehr finde. –

+0

@RomainIsnel gut, beide haben ein DOM und grundlegendes Javascript gemeinsam, so dass Sie eine Menge mit der gemeinsamen Untermenge tun können. – Petruza

+0

Sie haben Recht, aber Electron enthält auch eine NodeJS-Umgebung. –

Antwort

0

Es liegt an Ihrer Entwicklungsumgebung. Ich entwickle eine Electron App, die ein wenig auf dem ipc Messaging basiert, aber wenn ich diese Anwendung auch direkt im Browser verwenden möchte, würde ich einfach einen Wrapper erstellen und das Build Tool mit diesen Dingen umgehen lassen (webpack, gulp, grunt) ...).

Wenn Sie Electron verwenden möchten, sollten Sie sich die Konventionen ansehen, die die Electron Builder will. Sie trennen die Anwendung und ihre Abhängigkeiten von den Entwicklungsschritten (Elektron, Elektron-Builder usw.).

1

Versuchen Sie mit browserify, es ist wirklich cool.

browserify ist ein Tool zum Kompilieren von Knoten-artigen Commonjs-Modulen für des Browsers.

können Sie verwenden browserify Ihren Code zu organisieren und von Drittanbietern Bibliotheken verwenden, auch wenn Sie sich in einer anderen Eigenschaft nicht Knoten verwenden außer für die Bündelung und Pakete mit NPM installieren.

Das Modul-System, das Anwendungen browserify ist die gleiche wie Knoten, so Pakete npm veröffentlicht, die ursprünglich für den Einsatz in Knoten bestimmt waren, aber nicht Browsern wird gut funktionieren auch im Browser.

Zunehmend werden Menschen Module npm zu veröffentlichen, die in beiden Knoten und im Browser arbeiten mit browserify und viele Pakete auf npm absichtlich ausgelegt sind, sind für die Verwendung in nur dem Browser. NPM ist für alle Javascript, Front- oder Back-End gleich

https://github.com/substack/browserify-handbook#introduction