最近在玩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. centos7的nfs配置

    author : headsen chen date : 2018-04-12  09:40:14  一,服务端安装和配置: 环境准备: systemctl stop firewalld system ...

  2. location.assign 与 location.replace的区别

    window.location.assign(url) : 加载 URL 指定的新的 HTML 文档. 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面. w ...

  3. 穿透Session 0 隔离(二)

    上一篇我们已经对Session 0 隔离有了进一步认识,如果在开发过程中确实需要服务与桌面用户进行交互,可以通过远程桌面服务的API 绕过Session 0 的隔离完成交互操作. 对于简单的交互,服务 ...

  4. 巨蟒python全栈开发-第9天 初识函数

    一.今日主要内容总览(重点) 1.什么是函数? f(x)=x+1 y=x+1 函数是对功能或者动作的封装2.函数的语法和定义 def 函数名(): 函数体 调用:函数名()3.关于函数的返回值 ret ...

  5. 巨蟒python全栈开发数据库前端4:CSS基础3

    1.float浮动 清除浮动 2.position定位&overflow溢出&z-index属性 3.定位补充 4.导航栏

  6. 微信支付 301 500 php 7 simplexml_load_string

    w simplexml_load_string http://stackoverflow.com/questions/35593521/php-7-simplexml

  7. 模块 - random/string/os/sys/shutil/zipfile/tarfile

    random 模块 方法: >>> random.randint(1,3) #会包含 1 2 3 3 >>> random.randrange(1,3) #会包含 ...

  8. Numpy常用操作方法

    NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准数学函数(无需编 ...

  9. NYOJ 119 士兵杀敌(三)(RMQ算法)

    採用的的是小牛的写法,蒟蒻第一次写.. RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n).返回数 ...

  10. Thymeleaf添加页面模板

    在页面编辑中,有一些公共的页面部分(比如header,footer等)可以抽取出来放到模板中,其他页面使用的时候可以调取该模板,这样的好处是如果修改这些公共部分,只修改模板中的代码即可. 为了做到这一 ...