在node-webkit中使用node modules
来源:互联网 发布:js cookie 大小限制 编辑:程序博客网 时间:2024/05/03 04:09
在nodejs中有三种类型的modules:
- 内部modules(一部分Node API)
- 用JavaScript写的第三方modules
- C/C++插件形式的第三方modules
所有这些类型都可以使用在node-webkit.
内部modules:
nodejs的内部(内建)moduels可以直接在node-webkit中使用(需要根据nodejs的文档)。
例如,var fs = require('fs')
就可以开始使用文件系统module了。
例如,你可以直接使用process module,而不用任何的require(...)。
然后,在nodejs和node-webkit的API之间也有一些小的改动。
第三方JavaScript modules
如果一个第三方的模块完全是由JavaScript写成(也就是不包含C/C++插件),可以以在Nodejs中使用的方式用在node-webkit中:require('moduleName')。
然而,相对路径的行为依赖于在应用程序中父文件本身是如何使用的(这里的父文件是指require()
方法调用所在的文件):
- 如果父文件也被Node引用(使用
require()
),那么子文件中的相对路径是相对于其父文件的。 - 如果父文件被WebKit所引用(使用任何web的技术:经典的DOM
window.open()
,node-webkit's的Window.open
,经典的DOMXMLHttpRequest
,JQuery的$.getScript()
,HTML<script src="...">
元素,等等),子文件的相对路径就是相对于应用程序的根目录。
前述的规则意味着任何模块的子模块在nodejs中的引用方式在node-webkit中可以正常工作。
然而,一般的更聪明的做法是不使用明确的相对路径(以../和./开头)。取而代之,仅仅调用require('modulename')
就足够了--------如果这个模块已经放在了应用程序的子目录/node_modules下面。
例如,你可能从npm package安装了一些模块,通过在你的应用程序目录调用npm install modulename
(你的应用程序的清单文件所在的目录),因为npm
会自动的将这些模块放到子目录/node_modules.
例子:async
这是一个安装async模块的例子:
$ cd /path/to/your/app$ npm install async
这是整个目录树的文件列表:
$ find .../package.json./index.html./node_modules./node_modules/async./node_modules/async/.gitmodules./node_modules/async/package.json./node_modules/async/Makefile./node_modules/async/LICENSE./node_modules/async/README.md./node_modules/async/.npmignore./node_modules/async/lib./node_modules/async/lib/async.js./node_modules/async/index.js
清单文件看起来是这样:
{ "name": "nw-demo", "main": "index.html"}
这是index.html
:
<html><head><title>test</title><script>var async=require('async');</script></head><body>test should be here.</body></html>
第三方C/C++插件(暂未用到,省略)
- 在node-webkit中使用node modules
- Node-webkit中使用sqlite3
- 如何在node-webkit中调用dll
- node-webkit使用教程
- 在node中使用mongodb
- 在node中使用 ES6
- node-webkit中使用webDB数据库位置分析
- 如何在Node-RED中使用MQTT node
- node-webkit在windows下发布
- Node.js之Modules
- node.js Modules
- Node.js Modules 模块
- node-webkit 使用简介开发桌面应用
- 使用node webkit直接打开某个文件夹
- node webkit使用默认浏览器打开连接
- cocos2dx中 Node 在shader使用v_texCoord
- 在Express中使用html (Node.js)
- 如何在Node-RED中使用Elasticsearch
- create new post for jekyll
- eXtremeDB pagination
- 在linux中安装rpm版的mysql5.6的注意事项
- <Win32 API> 钩子程序的实现
- 我的2014 - 所有经历, 都该被感激
- 在node-webkit中使用node modules
- 在Spring Security中启用Group Authorities
- 在Spring中配置使用commons-logging的simplelog来输出日志
- Scikit Learn: 在python中机器学习
- Flex As3 解析XML文件(上:基本操作)
- 测试用例设计_如何提高测试覆盖率(一)
- Android app 部署至机顶盒
- week10--小组网页制作
- windows 查看端口占用情况