2014-11-05 45 views
2

我在节点webkit中编写了一个小应用程序,并且无法打包它。我最终的目标是要有一个.exe,我可以给其他人。无法打包节点webkit应用程序

我可以使用“nodewebkit”从命令行运行它。

我试过压缩文件并将结果保存为app.nw,但是当我尝试运行时,我只是得到默认节点webkit屏幕。我已经阅读了rogerwang github上的文档,但没有到任何地方,因为我无法完成第一步。

该应用程序由几个文件组成:index.html,main.js,styles.css。它取决于几个节点模块以及jQuery。 package.json文件粘贴在下面...任何建议将不胜感激。

{ 
    "name": "spl", 
    "version": "0.0.0", 
    "description": "", 
    "keywords": [], 
    "main": "index.html", 
    "homepage": "https://github.com/lpappone/spl", 
    "bugs": "https://github.com/lpappone/spl/issues", 
    "window": { 
    "title": "Splitter", 
    "toolbar": false, 
    "frame": true, 
    "width": 800, 
    "height": 500 
    }, 
    "author": { 
    "name": "Lauren Pappone", 
    "email": "", 
    "url": "https://github.com/lpappone" 
    }, 
    "repository": { 
    "type": "git", 
    "url": "git://github.com/lpappone/spl.git" 
    }, 
    "dependencies": { 
    "fast-csv": "^0.5.3", 
    "recursive-readdir": "^1.2.0" 
    }, 
    "devDependencies": {}, 
    "engines": { 
    "node": ">=0.8.0" 
    } 
} 

的目录结构看起来是这样的,当我检查.nw的内容,它是完全一样的:

+0

您的index.html与package.json处于同一级别吗?我们可以有一个你的目录结构的例子吗? – 2014-11-05 08:42:37

+0

当然 - 这是一个小应用程序,我不知道它是否重要,所以它基本上都是相同的水平。项目文件夹包含文件:index.html,main.js,bower.json,package.json,styles.css。还包含以下文件夹:bower_components,node_modules,node_webkit-v0.10.2-osx-x64和资源,我认为它们是随node-webkit提供的。 – lpappone 2014-11-06 01:56:02

+0

你真的很奇怪你是否成功地只用package.json文件和index.html文件创建nodewebkit应用程序? – 2014-11-06 06:34:33

回答

3

你似乎在Mac上做这个,所以我会盖住了。 Windows和Linux稍微复杂一些,因为它们没有像Mac OSX那样拥有App Bundles。 你是否将你的app.nw复制到正确的地方?你确定你在app.nw中包含了一切吗?

这是你在做什么?:

首先,你需要创建app.nw,这仅仅是整个项目的zip文件。如果你到你的项目目录(含的package.json的),你可以通过键入

zip -r ../app.nw . 

现在创建node-webkit.app的副本做到这一点,app.nw复制到node-webkit.app/Contents/Resources/

cp app.nw node-webkit.app/Contents/Resources/ 

你现在应该可以运行node-webkit.app了,它应该运行你的应用程序。 (您可能在安全设置等方面存在一些问题)

有关详细信息,请参见https://github.com/rogerwang/node-webkit/wiki/How-to-package-and-distribute-your-apps#mac-os-x

+0

明白了。学习应用程序包,并运行你给我的代码行(我需要包含保存node-webkit.app的文件夹)。但是如果我运行“node-webkit.app”,我找不到命令。 nodewebkit node-webkit.app,它告诉我没有package.json文件。仍然不明白如何打包该应用程序,因此它可用于非计算机技能。 – lpappone 2014-11-14 05:09:06

+0

明白了。没有意识到我需要运行node-webkit而不是我的原始应用程序文件。这导致了一个新的错误,我已经发布为一个新的问题:http://stackoverflow.com/questions/26924209/node-js-child-process-doesnt-work-in-node-webkit – lpappone 2014-11-14 06:30:35