node-webkit解决了我通过html和js来编写桌面应用的难题。
至于node-webkit的定义,按照作者的说法:
“ 基于node.js和chromium的应用程序实时运行环境,可运行通过HTML(5)、CSS(3)、Javascript来编写的本地应用程序。node.js和webkit的结合体,webkit提供DOM操作,node.js提供本地化操作;且将二者的context完全整合,可在HTML代码中直接使用node.js的API。”
webkit是开源项目,项目地址为https://github.com/rogerwang/node-webkit。
我们可以在该项目首页找到downloads节(https://github.com/rogerwang/node-webkit#downloads),该处提供了预编译版本:
Prebuilt binaries (v0.9.2 - Feb 20, 2014):
· Linux: 32bit / 64bit
· Windows: win32
· Mac: 32bit, 10.7+
下载windows版本的安装包,解压到磁盘。
双击nw.exe,出现如下界面:
1.1.2 LINUX环境下的安装
以ubuntu为例,首先下载安装包。
解压:
tar -xzf node-webkit-v0.8.5-linux-ia32.tar.gz
运行nw,看是否正常。
我出现
./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
的错误。可以按如下方式解决:
1)下载安装ghex:sudo apt-get install ghex
2)在nw可执行文件目录中用ghex打开nw:
ghex nw
3)在ghex中,ctrl+f,打开搜索工具,查找libudev.so.0。
关闭搜索框,在右侧字符窗口,修改0为1。
4)ctrl+s保存后退出ghex,现在再打开nw就会看到一个小窗口了,这就成功了。
1.2 HELLO WORLD
对新的运行时的尝试,往往都是从经典的hello world开始,本人也不免落俗。
先新建一个helloWorld目录,存放相关文件。
先创建helloWorld.html文件,内容如下(来自作者的示例):
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using node.js <script>document.write(process.version)</script>.
</body>
</html>
下一步,创建package.json文件:
{
"name": "helloworld",
"main": "helloworld.html"
}
第三步,将helloworld.html和package.json打包到一个zip文件包中。
下面我们使用nw来执行压缩包。
./nw ../helloword/hello.nw
分享到:
相关推荐
node-webkit 上的 Helloworld 只是在 cli 上运行应用程序 在项目根目录下运行以下命令。 注意:您必须在运行应用程序之前安装 。 node-webkit . 包装应用 在项目根目录下运行以下命令。 npm install -g grunt-...
【标题】:“Node-Webkit 测试:Hello-world 示例” 在 IT 领域,特别是 Web 开发中,Node-Webkit 是一个独特的框架,它允许开发者使用 Node.js 和 HTML5/CSS3 技术来构建桌面应用程序。Node-Webkit 结合了 ...
知识点 1: Node-Webkit 简介 Node-Webkit 是一个开源的框架,允许开发者使用 HTML5、CSS3 和 JavaScript 等技术来创建跨平台的桌面应用。它是一个 Chromium 和 Node.js 的结合体,提供了一个强大的桌面应用开发...
1. **nw.js(node-webkit)基础**: 该教学文档为nw.js提供了详尽的中文指南,旨在帮助开发者从零开始学习nw.js的各个方面。 2. **API概览与应用实例**: 文档不仅介绍了nw.js的核心API,还通过多个实例演示了如何将...
NW.js 的前身是 node-webkit 。 特性: 使用 HTML5、CSS3、JS 和 WebGL 编写应用 完全支持 Node.js APIs 以及其 第三方模块 性能表现良好,Node 和 WebKit 运行在同一个线程,函数调用更直接,对象在同一个内存...
lab-ng2-nwjs 在这个项目中,我会尝试创建一个简单的Hello World应用程序与和运行和后者演变到一个multiroute形式的应用程序。 我来自C / C ++和Java背景,因此由于我是现代Ecmascript工具和库的新手,因此我尝试将...
这些示例可能包括简单的“Hello World”程序,以及更复杂的特性演示,如本地文件系统访问、多线程处理等。 3. **开发工具**:nw.js SDK通常会包含开发者工具,如Chrome DevTools,这对于调试和优化应用程序非常有...
import HelloWorld from '@/components/HelloWorld' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: HelloWorld } ] }) ``` 在运行项目之前,确保...
import HelloWorld from './components/HelloWorld.vue' export default { name: 'App', components: { HelloWorld } } #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-...
aws-lambda-wkhtmltopdf 在AWS Lambda上使用Webkit(QtWebKit)将HTML转换为PDF ...在Lambda下,单击“创建Lambda函数”按钮 当要求您选择蓝图时,请勿选择任何蓝图,而是单击“跳过”按钮 ...Hello world</body>
这段代码会生成一个名为`output.pdf`的PDF文件,内容为一个包含“Hello, World!”的标题。`options.format`参数指定了页面大小,这里设置为A4。 `html-pdf`库还支持一些高级特性,例如合并多个HTML文件为一个PDF、...
- **Android 平台**: 详细介绍如何配置Android开发环境,并在Android平台上安装PhoneGap,同样以一个简单的“Hello World”应用为例。 #### 知识点二:多平台构建与调试 - **设计**: 使用桌面浏览器进行初步设计,...
例如,`<div><h1>Hello, world!</h1></div>`。 3. **State和Props**: 在React中,组件的状态(state)和属性(props)是管理组件数据的关键。Props是从父组件传递给子组件的数据,而State则是组件内部管理的数据,...
htmlToPdf('<h1>Hello, World!</h1>').then(pdf => { // 处理PDF数据,例如保存到文件 }); ``` 四、字体问题 在处理HTML到PDF的转换时,字体是一个重要的考虑因素。在给定的文件列表中,我们看到了`simsun.ttc`,...
一个“ Hello World”应用程序在使用Electron时需要115 MB,而在Electrino中则只有167 kB: 阅读有关Electrino的更多信息比较方式特征电子埃利特里诺全面的API 是没有输出尺寸小没有是跨平台支持是目前仅限于macOS...