此外,我们有四个入口点也高于建议的大小。以下是我将构建的大小减半的方法。 导致大型构建包的原因是什么? 首先,我需要了解导致大型构建包大小的原因。...这将提供每个包中项目大小的可视指南。...当你查看图片的时,该大小的绝大部分是它们支持的所有语言的国际化语言环境。我们根本没有使用moment.js的这一部分,所以我们打包中包含了不必要部分。 幸运的是,我们可以删除它。...总结 我的目标是减少为我们的应用程序生产而创建的包的大小。 我的构建的初始大小是2.48MB。 通过进行一些更改,我能够将构建大小减少到1.2MB。 这几乎减少了50%。...我能够通过这种方式减少捆绑中四个最大项目的大小。 希望对你有帮助,能按照这些步骤来减少生产构建包的大小。
此外,我们有四个入口点也高于建议的大小。以下是我将构建的大小减半的方法。 导致大型构建包的原因是什么? 首先,我需要了解导致大型构建包大小的原因。...这将提供每个包中项目大小的可视指南。...当你查看图片的时,该大小的绝大部分是它们支持的所有语言的国际化语言环境。我们根本没有使用moment.js的这一部分,所以我们打包中包含了不必要部分。 幸运的是,我们可以删除它。...image.png 总结 我的目标是减少为我们的应用程序生产而创建的包的大小。 我的构建的初始大小是2.48MB。 通过进行一些更改,我能够将构建大小减少到1.2MB。 这几乎减少了50%。...我能够通过这种方式减少捆绑中四个最大项目的大小。 希望对你有帮助,能按照这些步骤来减少生产构建包的大小。
包大小较大:由于Flutter应用需要打包Dart运行时和Flutter框架,导致应用的安装包大小较大。...另外,由于需要打包JavaScript引擎和React Native框架,导致应用的安装包大小较大,且内存占用较高。...包体积大,内存占用高:由于需要打包JavaScript引擎和React Native框架,导致应用的安装包大小较大,且内存占用较高。...然而,Electron 也存在一些缺点,包括: 包大小较大:由于需要打包 Chromium 和 Node.js,导致应用的安装包大小较大。...包体积较大:由于需要打包 Qt 库和应用程序代码,Qt 应用程序的安装包大小可能较大。
Pyinstaller 打包后程序体积较大 可以看到打包过程出现 UPX is not available 配置 UPX 后可以压缩大量的可执行文件和库,明显的减少打包后的程序包体积。...可以发现重新打包后的程序包大小跟之前的大小是不一样的。 原来是 180M,重新打包后是 131M 缩小了 49M。
nw.js如何处理拖放操作 其实拖放(drag-drop)操作是Html5的功能,不是nw.js的内置API,那么我们采用Html5应用一般的处理方法就可以了。...nw.js会按照chrome浏览器默认处理文件的方式来处理拖放的文件,能显示的会直接显示,不能显示的会变成资源下载。 这肯定不是桌面应用想要的效果,那么Html5是如何处理拖放的呢?
然而源码发过去人家还不要,一定要打包成可执行软件。 那就打包呗,刚好以前对 Pyinstaller 有一点接触,就用了一下这玩意。这篇博文主要记录一下基本用法和踩得一些坑。 1....我转眼一想就明白了,肯定是这货偷偷把一些不相干的库也打包进来了。...后来我上网上一查,有知乎大佬说是因为“Anaconda里内置了很多库,打包的时候打包了很多不必要的模块进去,要用纯净的Python来打包。” 我用的方法是使用 pipenv 来打包。 3....把你的脚本放到这个目录下面,运行 pyinstaller,方法同前 这时我们就会用虚拟环境下的 pyinstaller 来打包库,由于这个环境比较纯净,所以即便它想乱打包其他的库也打包不了。...打包完毕后,你就会发现,很明显干净多了: ? 再一看,一共 90 M,足足缩小了 6 倍多。 以上就是本文的全部内容,希望对大家的学习有所帮助。
---- 一、使用 NW.js 打包 NW.js基于Chromium和Node.js。它允许您直接从浏览器调用Node.js代码和模块,并在应用程序中使用Web技术。...此外,您可以轻松地将web应用程序打包为本机应用程序。...官网:NW.js 官网 优点:免开发、门槛低、体积小 1.1 下载、解压 NW.js 1.1.1 下载 NW.js 进入 NW.js 官网,点击下载最新版,如下图所示。...1.1.2 解压 NW.js 接着我们将压缩包解压到指定目录,解压成功后如下图所示。...是否允许调整窗口大小。
NW.js的用途 NW.js 基于 Chromium 和 Node.js,从而可以在桌面app中使用浏览器开发技术并直接调用 Node.js 资源,甚至将一个web应用打包到本地也轻而易举。...安装NW.js 可以从官网下载; 推荐在开发时下载是sdk版,以使用DevTools 非sdk版也应同时下载,在发布时使用 写一个 Hello World!...title> Hello NWJS~ == 右键单击可看到菜单 == //此处演示调用`NW.js...打包和发布 下载 https://github.com/jyapayne/Web2Executable 运行下载的图形界面程序,选定项目目录 程序会根据项目中的 package.json 自行填好 "App...在 "Export Settings" 中,选择要发布的平台种类,屏蔽一些无用文件等 在 "Compression Settings" 中,选择压缩级别;高压缩级别会带来相应的启动时间变长,并可能造成打包后的程序运行失败
nw.js就是使HTML, CSS, JavaScript写的原本在浏览器上运行的程序,也可以在桌面端运行。...效果图: image image 使用命令行安装 (命令行下载比较慢 所以不是特别建议) sudo npm install -g nw nw的打包流程 打包工具...windows下的打包流程 https://www.cnblogs.com/tinyphp/p/5052327.html mac/osx下的打包流程 https://blog.csdn.net...全局安装electron npm install electron -g 本地安装 npm install electron --save-dev 打包工具 这里的打包工具我选择的是...从license上来看,Electron是Github的,NW.js则是Intel。 nw 在mac上只能构建mac的应用 ,windows下只能构建windows的。
找了一圈发现NW.js挺容易上手,分享给大家。...NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js 【这里下载的SDK版本,方便后续调试】 2.解压到本地 3.构建自己的project index.html...4.把项目放到nw.js解压后的同一目录下 5.命令进入到当前文件夹 输入 nw myapp 也可以直接把项目拖到nw.exe 6.将应用打包成app.nw文件,进入myapp文件夹中...nw.exe+app.nw app.exe,这时是可以直接执行app.exe的,但换到其它目录就不可以执行了,因为换到其它目录找不到nwjs包内的依赖文件 【但只能在当前环境执行,在别处使用时需要打包...Virtual Box打成独立的可执行的exe文件 http://enigmaprotector.com/en/downloads.html 9.(1)导入项目的.exe文件 (2)选择输出路径【打包后的文件存放地址
说到 node.js 的 GUI 开发方案,首先想到的就是 electron 和 nw.js。但除了它们之外,是否存在其它更轻量级的技术方案可供选择呢?...在这个基础上,再加上个方便操作的 GUI 就好了,于是首先想到的方案自然就是 electron 或者 nw.js。...但打包了 Chromium 内核和 node.js 环境后,如今的 electron 和 nw.js 动不动就上百MB的大小,用来开发这样的小工具实在是不划算。...不过目前整个项目大小有上百MB,暂时似乎没有完善的部署发布方案,希望之后会日渐完善吧。...看起来具体实现基本就是把 react-native、electron 等方案整个打包,再增加了对 Win10 的 UWP 支持,是个大而全而非小而轻的方案?
2 nw.js工具 nwjs官网下载 nw.js的github地址 nw.js的使用流程: 测试可用 解压下载包后,双击nw.exe,可以正常启动,则说明可以使用node-webkit。...如果设置为false,程序将无边框显示 也就是没有系统默认的关闭,最小化,全屏按钮 "width": 800,//窗口的大小 "height": 500, //窗口的大小 "position..."max_height": 600,//最大高度 "as_desktop" :false,//是否作为桌面背景窗口显示 "resizable":false,//是否允许调整窗口大小...我们有个工具 Enigma Virtual Box 可以做打包的工作。...参考文章: 让HTML网页变成一个exe执行程序(node-webkit或HTMLRunExe或hta) NW.js构建桌面应用
默认情况下,nw.js发布的nw.exe文件请求的是普通权限,当我们的应用需要访问一些特殊目录或者注册表等,就需要程序启动的时候以管理员权限运行。...首先我们找一款使用nw.js开发的软件,这里我推荐AxeSlide,首先去下载软件,安装。
只在指定的模式中被载入,但会被 git 忽略 3.配置环境的默认变量 只能配置 NODE_ENV=production webpack的读取NODE_ENV配置才启用压缩逻辑,默认是dev的NODE_ENV所以打包出来特别大
昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向...NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流和分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统...这样一个PC版的微信就大功告成了,实际上就是利用 webview 标签加载微信网页版的在线地址,再在main.js中调整窗体大小以适配网页版的微信,是不是很简单呢。...其他 当然 Electron 中还有许多实用的模块,如作为桌面应用必不可少的 Menu 和 Tray 模块、拥有调用当前操作系统功能的 Shell 模块、NW.js 中不具备的自动更新功能 - autoUpdater...打包构建 Electron 打包的方式有很多种,常见的有 electron-builder、electron-packager 和 asar几种,在这里我使用的是 electron-packager 作为应用的打包工具
offsetWidth:元素在水平方向上占有的空间大小;相当于botder-left+padding-left+width+padding-right+border+right offsetLeft...客户区大小指的是元素内容及其内边距所占空间的大小。...就是指包含滚动内容的元素大小。...像textarea、html这些元素,当内容超过所设置的宽高后,就会出现一个滚动条,滚动大小的计算差不多就是指把元素内容平铺后的大小。...(上面两者主要是用于确定内容的实际大小) scrollLeft:被隐藏在内容区域左侧的像素数。 scrollTop:被隐藏在内容区域上方的像素数。
中仅保存极少量信息且会过期),数据持久化(Data Persistence)是本地应用开发中的常见需求,通俗的讲就是将瞬时数据(比如内存中的数据,断电即失效)保存为持久数据(比如写入数据库中长久保存); 由于NW.js...直接存储数据到本地文件 正如之前的文章提到过的,NW.js提供了App.dataPath来访问系统的应用数据目录, 可以利用其方便的存储应用配置文件等 不同平台上的具体指向: Win: $LOCALAPPDATA...) }); db.get('mittens').then(function (doc) { return db.remove(doc); }); https://github.com/nwjs/nw.js
而前面提到的两者,要么无法访问GUI,要么受限于API边界,均无法提供 NW.js Native UI APIs 则在其他JS层的顶部提供了这些完整的功能 1.1 获取nw实例 旧版本中可以用 var...也可以同时打开多个文件 nw path/to/app path/to/a.txt path/to/b.txt 为了访问到这些文件路径,需要使用App.argv属性,其返回一个参数数组 //如果要实际运行例子,需要打包...Window API - 操作NW.js窗口 在NW.js中,Window API 只不过是对DOM中window对象的一层包装,很多(并非所有)方法和属性继承了后者的用法,同时window对象也是 Node.js...currWin.height }); setTimeout(function() { currWin.x = 100; currWin.width = 600; }); 可以用以下方法限制窗口大小...中的托盘图标没有右键点击的行为,如果在menu上绑定了click行为,将被默认的显示菜单行为覆盖 Mac中的高分屏,可判断 window.devicePixelRatio>1后动态指定,或将2x图标和原始图标文件打包
在实际的NW.js程序开发中,我们可能在程序启动时做一些加载前逻辑,比如更新等等,那如何实现等待这些逻辑完成后才开始加载index.html呢?
Alexey Ivanov:webpack’s bundle inner structure and optimization webpack是目前大型前端项目的事实标准打包工具。...Webpack的打包机制如何工作?不同的配置项如何影响输出结果?如何调试和优化打包过程?让我来为你解惑。...孟红伦(云际):如何用JavaScript做好一个大型应用 钉钉是国内企业级市场的领军应用,是一个业务逻辑复杂,实时性要求极高的应用,是国内用户量最大使用nw.js构建的桌面应用。...我们基于nw.js,使用Web技术,持续高速迭代了三年,帮助产品快速占领了市场,目前超过10W行代码,依然保持高速迭代,快速稳健的演进支持瞬息万变的市场竞争,来看钉钉是如何做的。
领取专属 10元无门槛券
手把手带您无忧上云