如何运行nodejs环境

如何运行nodejs环境,第1张

Window 上安装Nodejs

你可以采用以下两种方式来安装。

1、Windows 安装包(msi)

32 位安装包下载地址 : >

64 位安装包下载地址 : >

本文实例以 v01026 版本为例,其他版本类似, 安装步骤

步骤 1 : 双击下载后的安装包 v01026,如下所示:

和平时安装其他软件一样等待安装完成!

步骤 2: 检测PATH环境变量是否配置了Nodejs,点击开始=》运行=》输入"cmd" => 输入命令"path",输出如下结果:

PATH=C:\oraclexe\app\oracle\product\1020\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v10\;

c:\python32\python;C:\MinGW\bin;C:\Program Files\GTK2-Runtime\lib;C:\Program Files\MySQL\MySQL Server 55\bin;C:\Program Files\nodejs\;

C:\Users\rg\AppData\Roaming\npm

我们可以看到环境变量中已经包含了C:\Program Files\nodejs\

步骤 3: 检查Nodejs版本

2、Windows 二进制文件 (exe)安装

32 位安装包下载地址 : >

64 位安装包下载地址 : >

安装步骤

步骤 1 : 双击下载的安装包 Nodeexe ,将出现如下界面 :

步骤 2:点击 Run(运行)按钮将出现命令行窗口:

步骤 3 :版本测试

进入 nodeexe 所在的目录,如下所示:

如果你获得以上输出结果,说明你已经成功安装了Nodejs。

1 网上找的实现方法

网上找了半天,没有一个实现的解决方案。那些大侠们的江湖可能都是Linux,从来不 *** 心Windows的。找到唯一靠谱的解决方案如下:

参见1:用nodejs访问ActiveX对象,以 *** 作Access数据库为例。这个总体上来说是利用Windows自带的脚本解释器来调用ActiveXObject,然后将处理结果返回给主进程。由于是两个进程之间的数据交换,也就只能局限于类文本数据;而涉及到动态对象的交换,就无能为力。但是,作为处理中间交换结果的简单小型的解决方案来说,还是可以的。

参见2:我是如何用 V8 脚本引擎替换JScript的。这个绝对是最彻底的解决方案,而且成文时间比较早,都在2009年。可惜作者懒了,以后就没有下文了。即便找到作者的工作室雨寒工作室主要原创作品预览,也是需要等待发布。

然后然后就只能靠自己了。

2 实现ActiveXObject的几种方法

其实以前用IE自带的JScript引擎,实现自己的应用程序和js相互调用,为自己的应用程序添加脚本支持,已经知道JScript的原理:一切皆组件,一切皆IDispatch和IDispatchEx。但是V8绝对不会支持微软的COM组件的,也就谈不上去实现Jscript中的大门ActiveXObject了;这也宣告利用V8时,不能方便简单的使用微软的组件。真是可惜啊!

其实让V8、NodeJS在Windows下来支持微软的组件一定可行的。动手实现之前想的三个方法是:

要用哪个组件,就将该组件动态转换为JS对象。

当然可以提供应用工具实现,其实就是遍历一个组件的接口类型库信息

难点在于方对象和子对象的层层连接

速度会比较快,因为事先已经将所有的方法或属性固定已知了,都省去根据名称找方法一步

比较浪费。如果有时只想调用组件中的几个方法而已的话

想在JS层次上拦截对方法或属性的调用,统一变成调用IDispatch::Invoke。

利用JS的AOP之类技术等等;或者eval、apply等函数

AOP大多数都是对已知对象方法属性的代理;但是组件引入在js中却是未知属性和方法,只有在调用时转成Invoke

如何在V8引擎中拦截脚本的属性或方法调用,转换为IDispatch::Invoke调用。

利用拦截器可以实现对所有方法和属性的访问,并转到IDispatch::Invoke这个函数中

要处理V8::Value和VARIANT的数据之间相互转换

对于对象的属性又是对象这种情况一定要处理好

注意优化,避免内存泄露

这几种方法,第一种知道可行,但是没有做;第二种宣告失败;第三种历经波折多次柳暗花明和死胡同交相辉映,但大抵宣告成功还有点瑕疵。

3 如何实现ActiveXObject的一种最简单方法

还有两个细节没有处理明白:

V8的String如何转换为BSTR,总是失败

NodeJS的addon插件,居然存在内存泄露。压根就没有释放掉ObjectWrap。自带的例子也如是!

解决完这两个bug后再放上代码。

以上就是关于如何运行nodejs环境全部的内容,包括:如何运行nodejs环境、如何在Windows下的V8/Nodejs中实现ActiveXObject、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10119219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存