最近在玩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. 【BZOJ4624】农场种植 FFT

    [BZOJ4624]农场种植 Description 农夫约翰想要在一片巨大的土地上建造一个新的农场. 这块土地被抽象为个 R*C 的矩阵.土地中的每个方格都可以用来生产一种食物:谷物(G)或者是牲畜 ...

  2. 理解PHP中会话控制

    如果以前没有接触过建站或网络编程,只是从头开始学PHP,以及用PHP来建立动态站点,那么会话(SESSION)对于初学者就有点难理解.那么到底什么是会话呢?理解一个概念需要从它产生的背景或问题出发,所 ...

  3. Outlook Top of Information Store

    Actually I got to thinking this might make a good blog post so I took a closer look - Try this: On t ...

  4. access variables from the global scope 在全局范围内访问变量的2种方法

    w http://php.net/manual/zh/language.variables.scope.php http://php.net/manual/en/language.variables. ...

  5. Storm-源码分析- bolt (backtype.storm.task)

    Bolt关键的接口为execute, Tuple的真正处理逻辑, 通过OutputCollector.emit发出新的tuples, 调用ack或fail处理的tuple /** * An IBolt ...

  6. Java基础 - 面向对象 - 类的定义

    package mingri.chapter_6; import java.util.Scanner; public class Person { /* * 类变量 * 定义方法: * 数据类型 变量 ...

  7. AttachThreadInput

    BOOL WINAPI AttachThreadInput( _In_  DWORD idAttach, _In_  DWORD idAttachTo, _In_  BOOL fAttach ); i ...

  8. Hibernate 的查询

    1. Hibernate 框架的查询方式 唯一标识OID的检索方式: session.get(对象.class, OID) 对象导航的方式; HQL 检索方式; QBC 检索方式; SQL 检索方式 ...

  9. centos7 docker镜像加速器配置

    CentOS的配置方式略微复杂,需要先将默认的配置文件复制出来 /lib/systemd/system/docker.service -> /etc/systemd/system/docker. ...

  10. django_上传文件

    要求:  写一个文件上传:如果文件名字重复,不要覆盖,并且放到项目根路径的media文件夹下 def upload(request): if request.method == "GET&q ...