×

windows安装v8js

windows安装v8js(windows安装或恢复介质以继续操作)

admin admin 发表于2023-03-25 11:29:08 浏览52 评论0

抢沙发发表评论

本文目录一览:

nodejs 还是python?

这个关键取决你自身的基础条件和兴趣方向。

python是个比较成熟的跨平台的通用型脚本语言,有非常完善庞大的内置模块和第三方扩展模块。

python几乎什么都能干,但是自身性能较低。it自动化运维,网络爬虫,数据分析是优势的领域

node.js采用事件驱动、异步编程,为网络服务而设计

"node.js 是服务器端的 javascript 运行环境,它具有无阻塞(non-blocking)和事件驱动(event-driven)等的特色,node.js 采用 v8 引擎,同样,node.js 实现了类似 apache 和 nginx 的web服务,让你可以通过它来搭建基于 javascript 的 web app。"-windows安装v8js

如何在Windows下的V8/Nodejs中实现ActiveXObject

1. 网上找的实现方法

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

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

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

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

2. 实现ActiveXObject的几种方法

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

其实让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安装了哪个版本的v8

如图,前者是node版本号,后者是node解析引擎v8版本号

node -p process.versions.v8

另外,补充一下,chrome查看v8版本号

还有就说想说  ,为啥楼上那位,不看题,就瞎复制粘贴呢,严重怀疑你懂不懂

如何使用NPM在Windows 7上安装V8

D:\Projects\Projects\MY_Prjct3\MY_Prjctnpm install v8-profiler

npm http GET CodeGo.net

npm http 304 CodeGo.net

v8-profiler@3.6.2-1 install D:\Projects\Projects\MY_Prjct3\MY_Prjct\node_modules\

v8-profiler

node-gyp rebuild

D:\Projects\Projects\MY_Prjct3\MY_Prjct\node_modules\v8-profilernode "C:\Program F

iles\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\n

ode-gyp.js" rebuild

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform

.Targets(23,7): error MSB8007: The Platform for project 'profiler.vcxproj' is i

nvalid. Platform='x64'. You may be seeing this message because you are trying

to build a project without a solution file, and have specified a non-default Pl

atform that doesn't exist for this project. [D:\Projects\Projects\MY_Prjct3\My_Prj

ct\node_modules\v8-profiler\build\profiler.vcxproj]

gyp ERR! build error

gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

` failed with exit code: 1

gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\

npm\node_modules\node-gyp\lib\build.js:236:23)

gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:99:17)

gyp ERR! stack at Process._handle.onexit (child_process.js:678:10)

gyp ERR! System Windows_NT 6.1.7601

gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modu

les\\node-gyp\\bin\\node-gyp.js" "rebuild"

gyp ERR! cwd D:\Projects\Projects\MY_Prjct3\MY_Prjct\node_modules\v8-profiler

gyp ERR! node -v v0.8.15

gyp ERR! node-gyp -v v0.7.1

gyp ERR! not ok

npm ERR! v8-profiler@3.6.2-1 install: `node-gyp rebuild`

npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1

npm ERR!

npm ERR! Failed at the v8-profiler@3.6.2-1 install script.

npm ERR! This is most likely a problem with the v8-profiler package,

npm ERR! not with npm itself.

npm ERR! Tell the author that this fails on your system:

npm ERR! node-gyp rebuild

npm ERR! You can get their info via:

npm ERR! npm owner ls v8-profiler

npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.1.7601

npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod

ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "v8-profiler"

npm ERR! cwd D:\Projects\Projects\MY_Prjct3\MY_Prjct

npm ERR! node -v v0.8.15

npm ERR! npm -v 1.1.66

npm ERR! code ELIFECYCLE

npm ERR!

npm ERR! Additional logging details can be found in:

npm ERR! D:\Projects\Projects\MY_Prjct3\MY_Prjct\npm-debug.log

npm ERR! not ok code 0

文件:NPM-debug.log中0 info it worked if it ends with ok

1 verbose cli [ 'C:\\Program Files\\nodejs\\\\node.exe',

1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',

1 verbose cli 'install',

1 verbose cli 'v8-profiler' ]

2 info using npm@1.1.66

3 info using node@v0.8.15

4 verbose node symlink C:\Program Files\nodejs\\node.exe

5 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\package.json

6 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\node_modules\express\package.json

7 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\node_modules\hbs\package.json

8 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\node_modules\mongodb\package.json

9 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\node_modules\mongoose\package.json

10 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\node_modules\node-inspector\package.json-windows安装v8js

11 verbose read json D:\Projects\Projects\MY_Prjct3\MY_Prjct3\package.json

12 verbose cache add [ 'v8-profiler', null ]

13 silly cache add name=undefined spec="v8-profiler" args=["v8-profiler",null]

14 verbose parsed url { pathname: 'v8-profiler',

14 verbose parsed url path: 'v8-profiler',

14 verbose parsed url href: 'v8-profiler' }

15 silly lockFile a12f389f-v8-profiler v8-profiler

16 verbose lock v8-profiler C:\Users\Amol.Kulkarni\AppData\Roaming\npm-cache\a12f389f-v8-profiler.lock-windows安装v8js

17 silly lockFile a12f389f-v8-profiler v8-profiler

18 verbose addNamed [ 'v8-profiler', '' ]

19 verbose addNamed [ null, '' ]

20 silly lockFile f875d38f-v8-profiler v8-profiler@

21 verbose lock v8-profiler@ C:\Users\Amol.Kulkarni\AppData\Roaming\npm-cache\f875d38f-v8-profiler.lock-windows安装v8js

22 silly addNameRange { name: 'v8-profiler', range: '', hasData: false }

23 verbose url raw v8-profiler

24 verbose url resolving [ ' CodeGo.net './v8-profiler' ]

25 verbose url resolved CodeGo.net

26 info trying registry request attempt 1 at 16:54:05

27 verbose etag "ET10KXXLUBJGCCEB13YK5N04L"