澳门新葡亰娱乐网站-www.142net-欢迎您

澳门新葡亰娱乐网站是因为你还没有找到一条正确的致富之路,www.142net是将所有的游戏都汇集在一起的官方平台,因为澳门新葡亰娱乐网站这个网站当中有着大量的游戏攻略,托IP定位技术,传达终端直接到达的精准传播方式。

开始学习NW,简介与使用

来源:http://www.bhtsgq.com 作者:计算机知识 人气:75 发布时间:2019-05-24
摘要:简介 简介 NW.js 简要介绍与应用办法,nw.js简要介绍使用办法 简介 NW.js (原名 node-webkit)是一个基于 Chromium 和 node.js的应用运营时,通过它能够用 HTML 和 JavaScript编写原生应用程序。它

简介

简介

NW.js 简要介绍与应用办法,nw.js简要介绍使用办法

简介

NW.js (原名 node-webkit)是一个基于 Chromium 和 node.js 的应用运营时,通过它能够用 HTML 和 JavaScript 编写原生应用程序。它还允许你从 DOM 调用 Node.js 的模块 ,达成了1个用具备 Web 能力来写原生应用程序的新的开荒情势。

(一)以互联网最盛行的才具编写原生应用程序的新格局

(2)基于HTML5, CSS3, JS and WebGL而编写

(三)完全帮忙nodejs全数api及第三方模块

(4)能够使用DOM直接调用nodejs模块

(5)轻易打包和分发

(6)协助运维条件包括三11个人和陆十二位的Window、Linux和Mac OS 

开始学习NW,简介与使用。动用办法如下:

一、下载nw

1.下载 NW.js(官网:

那其间normal那么些好不轻便运营时吧,sdk这么些是壹对工具箱,提出都下下来~

2.下载 Enigma Virtual Box(官网:

二、配置 package.json 文件

{
 "name": "nw-demo",
 "version": "0.0.1",
 "main": "index.html"
}

更加多的可用如下:

{
 "main": "app/index.html", 
 "name": "WeixinMenuEditor",
 "description": "使用nw.js封装的一个微信公众号菜单编辑器App",
 "version": "0.0.1",
 "keywords": [ "微信", "菜单编辑器" ], 
 "window": {
 "title": "微信菜单编辑器",
 "icon": "app/static/img/weixin_logo.jpg",
 "toolbar": true,
 "frame": true,
 "width": 1008,
 "height": 750,
 "position": "center",
 "min_width": 400,
 "min_height": 200
 },
 "webkit": {
 "plugin": true,
 "java": false,
 "page-cache": false 
 },
 "chromium-args" :"-allow-file-access-from-files"
}
  • title : 字符串,设置暗中同意 title。
  • width/height : 主窗口的分寸。
  • toolbar : bool 值。是还是不是出示导航栏。
  • icon : 窗口的 icon。
  • position :字符串。窗口张开时的地方,能够设置为“null”、“center”只怕“mouse”。
  • min_width/min_height : 窗口的矮小值。
  • max_width/max_height : 窗口体现的最大值。
  • resizable : bool 值。是不是允许调解窗口大小。
  • always-on-top : bool 值。窗口置顶。
  • fullscreen : bool 值。是不是全屏展现。
  • show_in_taskbar : 是还是不是在职分栏展现Logo。
  • frame : bool 值。如若设置为 false,程序将无边框显示。
  • "chromium-args" :"-allow-file-access-from-files" 相当于给谷歌(谷歌(Google))浏览器增加运行参数同样,那行代码允许angularjs直接待上访问本地json文件。

三、生成exe

品类目录如下:

图片 1

将html项目压缩成zip,并改名称叫nw,输入以下命令

copy /b nw.exe app.nw firstApp.exe

四、打发包宣布

开辟 Enigma Virtual Box 程序(enigmavb.exe),界面应该是这么的:

图片 2

下一场在 Enter Input File Name 处选拔上一步生成的 test.exe 文件,Enter Output Name 能够暗中认可;

今后再点击上面包车型地铁 Add 按键,将 nwjs 文件夹(名称不断定是 nwjs ,正是最早先率先步 NW.js 遭遇的要命文件夹)下除 nw.exe 和 test.nw 以及 test.exe 之外的富有文件加载上,然后点击 Process ,等待试行成功就可以,那时候会在对应的路子下生成二个新的 .exe 文件(我们近些日子叫做 newtest.exe),此时的 newtest.exe 文件就可以在随心所欲的 Windows 境遇下运作了,你可以拷贝给你的小朋友伴去 Show 一下。

上边是nw使用进程中的一些坑

一.假设只盼望日前应用获取关节才施行快速键,看看这些库用js设置连忙键

// 加载本地ui库
 var gui = require('nw.gui');
 var option = {
 key: "Ctrl R",
 active: function () {
  alert("全局快捷键"   this.key   "按下");
 },
 failed: function (msg) {
  //创建快捷键失败
  alert(msg);
 }
 };
 // 创建快捷键
 var shortcut = new gui.Shortcut(option);
 // 注册全局快捷键
 gui.App.registerGlobalHotKey(shortcut);
 // 解除注册,在应用结束的时候执行
 gui.App.unregisterGlobalHotKey(shortcut);

2.nw.js没办法对页面多次刷新,各样不健康,那是由于刷新页面后再次加载js文件对变量重新赋值引起的bug。 化解方案

nw.js 读取和保留文件

<html>
<head>
 <meta charset="utf-8"/>
 <title>nw.js实现文件读写</title>
</head>
<body>
 <input id="readFile" type="file" >读取文件</input>
 <!-- 默认文件名为filename.html -->
 <input id="writeFile" nwsaveas="filename.html" type="file">保存文件</input>
 <p></p>
 <script>
 //nw.js提供的读写文件模块
 var fs = require("fs");
 //读文件
 var chooser = document.querySelector('#readFile');
 chooser.addEventListener("change", function (evt) {
  //用户选择的文件
  var filePath = this.value.toString();
  document.querySelector("p").innerHTML = "读取文件从"   filePath;
  fs.readFile(filePath, function (err, data) {
   if (err) {
   layer.msg("读取文件失败! :"   err.message);
   return;
   } else {
   console.log(data);
   alert(data);
   }
  })
  });
 //写文件
 chooser = document.querySelector('#writeFile');
 chooser.addEventListener("change", function (evt) {
  //用户选择的文件
  var filePath = this.value.toString();
  document.querySelector("p").innerHTML = "写入文件到:"   filePath;
  //把hello写入文件
  fs.writeFile(filePath, "Hello!n", function (err) {
   if (err) {
   alert("保存失败!");
   }
  }); 
  });
 </script>
</body>
</html>

3.用到nwjs的'fs'间接保存cancas为地点图片,在互连网找到的不二诀要都是弹出采纳框保存,但自个儿须要一贯保存图片到钦赐路径,不能够弹出对话框让用户选拔。kailniris给了3个化解方案,可行,代码如下:

var fs = require('fs');
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.moveTo(0, 0);
ctx.lineTo(200, 100);
ctx.stroke();
 <canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
 </canvas>
base64Data = c.toDataURL("image/png").replace(/^data:image/png;base64,/, "")
fs.writeFile("c:/Dev/test.png", base64Data, 'base64', function (err) {
 if (err) {
 console.log("err", err);
 } else {
 return res.json({ 'status': 'success' });
 }
});

用html2canvas把html页面调换为图片,再把图纸保存到地面。贴一下代码(供给导入html2canvas.js和jquery):

//要保存图片的文件路径
  var filePath = templateDir   filename   '.html';
  //要保存的html页面
  var editerDocument = window.editor.edit.iframe.get().contentWindow.document;
  html2canvas(editerDocument.body, {
  onrendered: function (canvas) {
   var base64Data = canvas.toDataURL("image/png").replace(/^data:image/png;base64,/, "")
   var fs = require("fs");
   fs.writeFile(templateDir   filename   '.png', base64Data, 'base64', function (err) {
   if (err) {
    alert("保存模板失败!");
   }
   $('#model_template_name').modal("hide");
   layer.msg("模板已保存为"   filename);
   });
  }
  });

四.在app.js里引用Node内置模块

//调用NodeJs内置模块
 $scope.fs = require('fs'); 
     //读取配置文件
 $scope.readConfig = function () {
  try {
  var configStr = $scope.fs.readFileSync(config.weixin.path, 'utf8');
  console.log(configStr);
  var obj = eval('('   configStr   ')');
  $scope.weixin.appid = obj.appid;
  $scope.weixin.appsecret = obj.appsecret;
  $scope.weixin.qrcodeurl = obj.qrcodeurl;
  }
  catch (e) {
  console.log(e);
  alert("读取微信配置文件失败");
  }
 }
 //写入配置文件
 $scope.writeConfig = function () {
  try {
  var configStr = JSON.stringify($scope.weixin);
  $scope.fs.writeFileSync(config.weixin.path, configStr, {encoding: 'utf8'});
  return true;
  }
  catch (e) {
  console.log(e);
  alert("写入微信配置文件失败");
  return false;
  }
 }

5.引用第2方模块wechat-api

//调用NodeJs第三方模块
 $scope.wechatApi = require('wechat-api');
 $scope.query = function () {
  var api = new $scope.wechatApi($scope.weixin.appid, $scope.weixin.appsecret);
  api.getMenu(function (err, result) {
  if (err) {
   console.log(err);
   alert("查询菜单异常");
  } else {
   load(result);
   $scope.$apply();//需要手动刷新
  }
  });
 };

 愈来愈多详细的能够仿照效法 粤语文书档案

总结

上述所述是小编给大家介绍的NW.js 简单介绍与利用办法,希望对大家有着辅助,如若大家有其余疑问请给自个儿留言,作者会及时过来大家的。在此也特别感激我们对帮客之家网址的支撑!

简要介绍与行使方法,nw.js简要介绍使用办法 简要介绍NW.js (原名 node-webkit)是2个基于 Chromium 和 node.js 的行使运营时,通过它能够用 HTML 和 Jav...

开班攻读NW.js,学习NW.js

直白都对写桌面应用很感兴趣,可是C 等东西又以为麻烦无比,特别是跨平台性上,此番正好要开辟三个跨平台应用,而又据书上说有nwjs这么个好东西,那就从头攻读啊,也顺便记录下来,方便回看。

重大内容都是遵照 《NW.js Essentials》。

一向都对写桌面应用很感兴趣,可是C 等东西又感到麻烦无比,尤其是跨平台性上,这一次正好要花费二个跨平台应...

(一)以互连网最风靡的技能编写原生应用程序的新点子

NW.js (原名 node-webkit)是三个依照 Chromium 和 node.js 的施用运转时,通过它能够用 HTML 和 JavaScript 编写原生应用程序。它还同意你从 DOM 调用 Node.js 的模块 ,完结了一个用具有 Web 技巧来写原生应用程序的新的费用格局。

(2)基于HTML5, CSS3, JS and WebGL而编写

(一)以网络最流行的本事编写原生应用程序的新办法

(三)完全援助nodejs全数api及第壹方模块

(2)基于HTML5, CSS3, JS and WebGL而编写

(4)能够应用DOM直接调用nodejs模块

(3)完全扶助nodejs全体api及第2方模块

(五)轻巧打包和分发

(4)能够行使DOM直接调用nodejs模块

(陆)协助运营条件包涵三二12人和陆十一人的Window、Linux和Mac OS

(伍)轻松打包和散发

 

(陆)帮助运维条件包罗32位和陆11位的Window、Linux和Mac OS 

选拔办法如下:

利用办法如下:

一、下载nw

一、下载nw

1.下载 NW.js(官网:

1.下载 NW.js(官网:http://nwjs.io/

那其间normal这么些好不轻巧运维时吧,sdk那多少个是局地工具箱,提出都下下来~

美高梅集团 ,那其间normal这么些好不轻便运维时吧,sdk那3个是一对工具箱,提出都下下来~

本文由澳门新葡亰发布于计算机知识,转载请注明出处:开始学习NW,简介与使用

关键词: 葡京赌场注册

上一篇:SQL分隔字符串,分隔字符串函数实现

下一篇:没有了

最火资讯