nw.js node-webkit基本程序结构与配置package.json配置说明

(一)基本程序结构

如上图,是一个nw程序的基本组织结构,在根目录下有package.json(程序的配置文件)和index.html(可以是任意名称,应用的启动页面);js/css/resources分别是应用的样式、脚本、和资源文件(html、图片等);node_modules存放node.js的扩展组件。这只是一个通用的基本组织结构,实际项目的组织结构,不必一定按照此结构进行搭建,如项目使用的是js模块化编程require框架的。最终的组织结构以适应实际项目为准,但文件package.json和index.html必须放在根目录下。

(二)配置文件package.json

nw在启动应用程序时,首先要读取package.json文件,初始化基本属性,下面我们看看package.json的完整参数。每个参数配置都标有注释。

{
    /**指定程序的起始页面。*/
    "main": "index.html",
    /**字符串必须是小写字母或者数字,可以包含.或者_或者-不允许带空格。name必须全局唯一。*/
    "name": "demo",
    /**程序描述*/
    "description": "demo app of node-webkit",
    /**程序版本号*/
    "version": "0.1.0",
    /**关键字*/
    "keywords": ["demo","node-webkit"],
    /**bool值,如果设置为false,将禁用webkit的node支持。*/
    "nodejs": true,
    /**
    * 指定一个node.js文件,当程序启动时,该文件会被运行,启动时间要早于node-webkit加载html的时间。
    * 它在node上下文中运行,可以用它来实现类似后台线程的功能。
    * (不需要可注释不用)
    */
    //"node-main": "js/node.js",
    /**
    * bool值。默认情况下,如果将node-webkit程序打包发布,那么只能启动一个该应用的实例。
    * 如果你希望允许同时启动多个实例,将该值设置为false。
    */
    "single-instance": true,
    /**窗口属性设置 */
    "window": {
        /**字符串,设置默认title。*/
        "title": "demo",
        /**窗口的icon。*/
        "icon": "link.png",
        /**bool值。是否显示导航栏。*/
        "toolbar": false,
        /**bool值。是否允许调整窗口大小。*/
        "resizable": true,
        /**是否全屏*/
        "fullscreen": false,
        /**是否在win任务栏显示图标*/
        "show_in_taskbar": true,
        /**bool值。如果设置为false,程序将无边框显示。*/
        "frame": true,
        /**字符串。窗口打开时的位置,可以设置为“null”、“center”或者“mouse”。*/
        "position": "center",
        /**主窗口的的宽度。*/
        "width": 800,
        /**主窗口的的高度。*/
        "height": 670,
        /**窗口的最小宽度。*/
        "min_width": 400,
        /**窗口的最小高度。*/
        "min_height": 335,
        /**窗口显示的最大宽度,可不设。*/
        "max_width": 800,
        /**窗口显示的最大高度,可不设。*/
        "max_height": 670,
        /**bool值,如果设置为false,启动时窗口不可见。*/
        "show": true,
        /**是否在任务栏显示图标。*/
        "show_in_taskbar":true,
        /**
         * bool值。是否使用kiosk模式。如果使用kiosk模式,
         * 应用程序将全屏显示,并且阻止用户离开应用。
         * */
        "kiosk": false
    },
    /**webkit设置*/
    "webkit": {
        /**bool值,是否加载插件,如flash,默认值为false。*/
        "plugin": true,
        /**bool值,是否加载Java applets,默认为false。*/
        "java": false,
        /**bool值,是否启用页面缓存,默认为false。*/
        "page-cache": false
    }
}

在上面的配置中,main和name是必须的属性。其他简单明了的就大伙就直接看注释吧,博主主要讲讲几个比较难理解的参数配置。
(1)"node-main"配置:指定一个js文件,该js文件是启动程序时最早运行文件,在node-main脚本中还可以访问全局的“window”对象,它指向DOM窗口,但是如果页面导航发生变化,访问到的window对象也会发生变化。因为它执行时间要早于DOM加载,所以要等页面加载完毕,才能使用“window”对象。同时,在DOM页面中,可以通过process.mainModule来获取node-main信息。

(2)"single-instance"配置:简单地说,是指是否允许同时打开多个nw应用。

(3)"kiosk"配置:如果该配置设为ture,则显示为全屏模式并屏蔽关闭按钮,即该显示器将会一直停留在nw应用的显示界面,类似于银行的排队等待办理业务的取票机界面。

原文地址:https://www.cnblogs.com/luzhanshi/p/10920778.html

时间: 2024-08-02 07:21:36

nw.js node-webkit基本程序结构与配置package.json配置说明的相关文章

nw.js开发第一个程序(html开发桌面程序exe)

一.环境配置 windows系统 cnpm install node 下载nw.js https://github.com/nwjs/nw.js 找到download下载合适的版本 二.开发 项目目录如下: node_modules存放用到的node模块,package.json是入口文件 package.json内容为 {"name": "nw-app","version": "1.0.0","descriptio

微信小程序 - 结构目录 | 配置介绍

结构目录 小程序框架提供了自己的视图层描述语言 WXML 和 WXSS,以及 JavaScript,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑. 一.小程序文件结构和传统web对比 结构 传统web 微信小程序 结构 HTML WXML 样式 CSS WXSS 逻辑 Javascript Javascript 配置 无 JSON 通过以上对比得出,传统web 是三层结构.而微信小程序 是四层结构,多了一层 配置.json 二.基本的项目目录 配置介绍 一个小程序应

NW.js 简介与使用

简介 (1)以网络最流行的技术编写原生应用程序的新方法 (2)基于HTML5, CSS3, JS and WebGL而编写 (3)完全支持nodejs所有api及第三方模块 (4)可以使用DOM直接调用nodejs模块 (5)容易打包和分发 (6)支持运行环境包括32位和64位的Window.Linux和Mac OS 使用方法如下: 一.下载nw 1.下载 NW.js(官网:http://nwjs.io/) 这里面normal这个算是运行时吧,sdk那个是一些工具箱,建议都下下来~ https:

nw.js使用

nw.js原名node-webkit,可以应用html和js来编写桌面应用. nw.js下载时会有两个版本: NORMAL版本:不包含工具包 SDK版本:含有工具包(按F12唤出) 使用: 解压后,添加package.json和页面目录,完成后结构如下 其中package.json如下 完成之后运行nw.exe,弹出应用

[Node.js]node中的require到底是怎样工作的

关于require 但凡使用过node.js/io.js,必定都会用到require这个函数来引用其它模块(自己写的或他人的).但很多人(包括本人)都没有把node中关于require(在文档中modules这一部份)介绍认真看过一遍. 这里先介绍一下大家可能都已熟知的情况: 文件加载 node中在使用require加载文件时,会尝试在引用文件名不存在的情况下,依次加上.js..node..json这三个后缀名来试错.注意,这里指的是引用文件名对应文件不存在的情况下. 例如,当你在代码中使用re

36补 varnish程序解雇及配置初步、vcl使用详解及varnish命令行工具

01 varnish程序结构及配置初步 配置环境 node1: CentOS 6.7 192.168.1.121 [[email protected] ~]# yum -y install httpd [[email protected] ~]# service httpd start [[email protected] ~]# echo "<h1>Web1</h1>" > /var/www/html/index.html [[email protect

基于webpack.config.js和babel.config.js及package.json构建项目的demo

webpack.config.js的内容如下 const HtmlWebpackPlugin = require('html-webpack-plugin'); const Webpack = require("webpack"); const ConcatPlugin = require('webpack-concat-plugin'); const CopyPlugin = require('copy-webpack-plugin'); const Path = require('

node webkit (nw.js) 无法调试的结局方案之一

项目,当时主要内容是由别人做的!过后回到家中,自己研究了下这方面.结果发现我的 nw 客户端不可以调试!在网上各种找办法,没找到,深感绝望,突然看到 (https://github.com/nwjs/nw.js/blob/nw17/docs/For%20Users/Getting%20Started.md) 上面说,建议你选择 sdk 版本! nw.js sdk 版本什么东西?抱着试一试的心态下了一个! 熟悉的界面又回来了!

用NW.js开发下一代桌面应用程序

前言 就在最近,GitHub发布了其代码编辑器Atom的1.0正式版.使用过它的童鞋一定会知道它利用网页技术开发.只不过它的框架是Atom Shell,非常类似NW.js.这时你可能问,放着好端端的native级界面框架不用,为什么要使用网页技术编写界面呢?下面我们就来探讨一下这个问题. 网页技术的优缺点 优点 HTML技术发展到今天的HTML5版本可谓已经十分强大,同时有CSS3的加持,网页也可以华丽夺目.Canvas标签.Audio标签以及Video标签的引入使得网页真正支持了多媒体,使用已