September 2011
5 posts
2 tags
安装node后node的js代码都跑哪里去了
Node的源代码有两部分组成: 1. C/C++代码(包括Google的V8引擎代码): 位于src目录下 2. JavaScript代码:node.js位于src目录下,其余全部位于lib目录下,而且数量很多 但是,奇怪的是,按照node wiki上的安装文档安装好Node之后,却发现在安装目录中并没有任何JavaScript文件,于是我就很想知道为什么(我犯贱) 因为node运行的时候这些js代码都是需要的,而且基本是node的核心代码, 所以大致猜测:JS文件在make的过程中可能被翻译然后合并到C代码中一同编译成了二进制代码 通过粗略地看了下node的几个和安装相关的脚本文件后,大概知道了真正的原因,如下: 首先,回忆下node的安装过程: 1. ./configure —prefex=node_install_path:...
Sep 28th
2 notes
3 tags
执行上下文(Execution Context)
说明 此文译自Dmitry A.Soshnikov 的文章Execution Context 概要 本文将向大家介绍ECMAScript的执行上下文以及相关的可执行代码类型。 定义 每当控制器到达ECMAScript可执行代码的时候,控制器就进入了一个执行上下文。 执行上下文(简称:EC)是个抽象的概念,ECMA-262标准中用它来区分不同类型的可执行代码。 标准中并没有从技术实现的角度来定义执行上下文的具体结构和类型;这是实现标准的ECMAScript引擎所要考虑的问题。 一系列活动的执行上下文从逻辑上形成一个栈。栈底总是全局上下文,栈顶是当前(活动的)执行上下文。当在不同的执行上下文间切换(退出的而进入新的执行上下文)的时候,栈会被修改(通过压栈或者退栈的形式)。 可执行代码类型 ...
Sep 10th
2 notes
4 tags
npm中本地安装命令行类型的模块是不注册Path的
首先有必要解释下什么是命令行(Command Line)类型的模块。 npm的模块一共分为三类: 1. 绑定型(Binding):本地模块,C++书写,如node-png 2. 库型(Library):JS书写,直接使用require(‘module’)这种方式,如Socket.IO-node 3. 命令行型(Command Line): 以命令行形式使用,如json-command 显而易见,提供命令行形式调用方式的模块就属于命令行型的。那么如何来申明自己的模块以什么命令调用,调用执行代码又如何制定呢? 这里就要说到npm模块的核心文件:package.json,此文件是npm模块的配置信息(npm help json可以获取详细信息)。 其中有一个key就叫“bin”,具体形式为“{ “bin”:...
Sep 5th
16 notes
Sep 4th
4 tags
如何在Eclipse中自定义Bundle
写代码的时候,我经常有这样的需求: 希望把经常要写的代码做成模板,然后,像linux那样,输入部分字符,按下Tab就帮忙自动补齐 以前用Netbeans和TextMate(Bundle)的时候,就很喜欢这样。 现在,在Eclipse + Aptana的环境下,也希望能够有这样的感受。于是,摸索出了自定义Bundle的方法,如下所示: 说明: “Eclipse3.7环境下,” 场景: 我经常在文件最上面要写上作者信息比如:goddyzhao<[email protected]> 所以,我打算把这个作为一个snippet,下次直接输入”auinfo”,然后tab就帮我自动补齐。 具体步骤如下: 1. 点击”Commands” -> “Text” -> “Edit...
Sep 3rd
4 notes