最近在玩node.js

但是发现很多IDE就是用不顺手

后来发现Xcode可以剖析java script

于是试着使用Xcode来当做node.js的编辑器

首先,在Mac上必须先安装node.js的相关开发工具


MacPorts比较省时间 开发环境搞定后,打开Xcode

点选: 'File->New->Project'

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

然后选择左下角Other。右边选择External Build System

按下Next 会看到下图

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

Product Name: '自己取' Build Tool: '/usr/local/bin/node'

之后,随便找个地方按下Create,建立项目。

当项目建立好后,就可以新增档案了。

在这个地方,我将会把以前写的小东西汇入这个项目。

首先,先将以前写的东西搬到项目文件夹底下。

我是将以前写的.js文件搬到该项目文件夹底下的src目录

然后,依照下图进行.js档的reference汇入动作

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

在项目文件的图示右键单击,选择「Add Files to "MyNodeJS"」

然后把整包src文件夹汇入。如下图

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

以上步骤就完成了项目文件的结构设定。

但是,还不能跑。

以前用文字编辑软件写完code后,必须用terminal呼叫node去执行.js档

现在,必须在Xcode上面做一些设定,让Xcode可以直接呼叫node去执行.js檔。

并将结果显示在Xcode的console

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

点选: 'Product->Edit Scheme'

选择左边的Run

接着,在右边的info标签中有个Executable的下拉式选单

选择Other。

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

之后,会弹出一个选择档案的对话框。

这时候我们要把node的执行档指定给Xcode

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

按下: 'Command+Shift+G'

画面将会出现一个框框,如上图。

接着,key入node执行文件位置。如果是用Mac Ports安装的话,可直接按照下面方式操作。

键入: '/usr/local/bin/node'

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

按下Go后,发现node执行档已经被选取。此时按下Choose。

回到刚刚的画面

此时,我们必须将debugger换掉。

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;">

依上图操作。把debugger选择成None

现在已经完成了node.js的设定

也取消了debugger。所以已经快要可以run程序了

不过,还差一步…

我们必须跟IDE说,node一开始要加载什么档案。

这个范例的默认是加载index.js后开始执行

IDE写node.js" title="使用Xcode IDE写node.js" style="margin: 0px; padding: 0px; border-width: 0px; list-style: none; background-color: transparent; vertical-align: baseline;"> 依照上图设定。

选择: 'Arguments' 在Arguments Passed On Launch新增(+): '$(SOURCE_ROOT)/src/index.js' Expand Variables Based On: 'MyNodeJS'

接着,按下OK就设定完成了

最后输出可以了,但是log打印会是乱码:解决办法:

alias node 'NODE_NO_READLINE=1 node'

或者:

An alternative is to add this to your .emacs:

(setenv "NODE_NO_READLINE" "1")

使用Xcode IDE写node.js的更多相关文章

  1. [label][IDE] Develop Node.js Project With WebStorm

    WebStorm 是一个支持 Node.js,CoffeeScript, TypeScript, Dart, Jade, Sass, LESS and Stylus 这些最新 web 开发技术的集成开 ...

  2. Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  3. 深入浅出Node.js(上)

    (一):什么是Node.js Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟 ...

  4. Node.js学习笔记——Node.js开发Web后台服务

    一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.j ...

  5. 使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  6. Node.js入门学习笔记(一)

    先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出& ...

  7. 深入浅出Node.js(一):什么是Node.js

    Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...

  8. (转)使用Node.js+Socket.IO搭建WebSocket实时应用

    Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...

  9. Node.js的线程和进程

    http://www.admin10000.com/document/4196.html 前言 很多Node.js初学者都会有这样的疑惑,Node.js到底是单线程的还是多线程的?通过本章的学习,能够 ...

随机推荐

  1. iOS 将金钱变为逗号形式

    ; NSNumberFormatter * formatter = [NSNumberFormatter new]; [formatter setNumberStyle:NSNumberFormatt ...

  2. [LintCode] 第k大元素

    基于快速排序: class Solution { public: /* * param k : description of k * param nums : description of array ...

  3. 巨蟒python全栈开发数据库前端7:jQuery框架

    每个人的标准不同,看法等等,认识,价值观有所不同,促成了这些矛盾. 1.select例子 <!DOCTYPE html> <html lang="en"> ...

  4. iOS与导航相关的都在这

    // 设置导航背景图片 (一旦设置背景图片(变为不透明),透明层不起作用) [self.navigationBar setBackgroundImage:[UIImage imageNamed:@&q ...

  5. IE11上登陆oracle OEM时报:“证书错误,导航已阻止”且无继续浏览此网站(不推荐)的错误

    问题原因:oracle oem证书的密钥小于1024 解决方案:在cmd中执行命令:certutil -setreg chain\EnableWeakSignatureFlags 8 出现以下提示: ...

  6. c# WinForm英雄联盟挂机源码及实现原理

    主要功能:全自动化英雄联盟挂机,游戏中会在原地放技能保持不掉线状态,游戏结束自动重新开始,自动选择英雄,可以晚上挂机刷人机: 缺陷:没怎么完善,如果掉线或者游戏崩溃网络断了软件会自动停止操作,使用时间 ...

  7. 模块化之SeaJS(二)

    Seajs 此文来自 予舍驿站 提供简单.极致的模块化开发体验 非官方文档,整理来自己官方文档的文字与实例,方便速查. seajs.configObject aliasObject 别名配置,配置之后 ...

  8. IO流入门-第七章-BufferedReader

    BufferedReader基本用法和方法示例 /* 字节 BufferedInputStream BufferedOutputStream 字符 BufferedReader:带有缓冲区的字符输入流 ...

  9. eclipse中jar file与runnable jar file的区别

    直接运行 .class的方法     java  -cp .  com.network.Chat  , 不用加.class后缀 从eclipse中export 的jar file,仅仅是把.class ...

  10. hibernate detached分离查询 与 抓取策略注意事项

    1.detached在抓取策略为 jion显式左外连接查询情况下 会产生笛卡儿积现象 DetachedCriteria dc = DetachedCriteria.forClass(Topic.cla ...