跳到主要內容

CoffeeScrpt node module compile and continous integration in Travis

CoffeeScrpt node module compile and continous integration in Travis

最近開始一直使用 coffeeScript 作為主要編輯程式,當我們在使用 Travis 的時候,會遇到許多問題,以下記錄一下設定方式。

npm 設定部分

經過查詢一下之後,發現 npm.org 這邊有一個設定方式 preinstall ,需要設定在 package.json 裡面。設定方式如下,

  "scripts": {
    "preinstall": "node_modules/.bin/cake build"
  },

preinstall 這個部分主要是用於,當使用執行 npm install ,在模組安裝之前會觸發 preinstall 裡面的指令。

這邊大家會發現,我們使用 node_modules 裡面的 .bin 目錄下程式進行編譯,因為在 node 模組中,只要模組有提供 cli 的模式,他都會存在 node_modules 底下,被搬移到 .bin 這個目錄中。所以我們都可以在 npm install 相依模組安裝完成後,進入到 node_modules/.bin 裡面找到程式指令。

travis 環境設定

可是如果在 travis 測試環境中,我們會發現,在開始編譯之前,我們是不會有 node_modules 這個模組安裝,因此我們需要增加 travis 的設定條件,讓他在進行任何事情之前,先行進行安裝 node_modules,這邊需要針對設定檔案 .travis.yml

language: node_js
node_js:
  - "0.10"
before_script:
  ./node_modules/.bin/cake build
before_install:
  - npm install coffee-script

這邊設定了 before_script, before_install 這兩個指令,將會在整個專案下載之前進行 npm install coffee-script, 安裝完成後,就會進行下載 project, 之後再進行 before_script 的指令。

如此一來 travis 就可以自動幫忙我們執行 ci ,如此一來就可以不用一直將 coffee 重複編譯成 js 檔案。

結語

Coffee 到底好不好用,這件事情見仁見智,不過對於自己開發來說,可以讓程式碼減少說,其實這是最主要的目標,同時也讓程式可讀性提高。這邊其實有很CoffeeScript Testing on Travis CI多指令沒有介紹,例如 cake, mocha 的設定,都還沒有提到,總之,測試,環境,程式品質,這些都是身為開發者必須要堅持的,只有將前置作業完成,才有辦法立下良好的根基。

參考資料

留言

這個網誌中的熱門文章

[CSS] z-index 在不同瀏覽器繼承問題

今天會討論到這個課題,是因為要實做一個Popup dialog,所以我們希望的結果如下圖。 可是在IE7 卻發生了這樣的情況。 Popup不論怎麼設定z-index都無法浮在最上層,我們看一下html架構發生什麼事情。

[教學] 快快樂樂刪除CodeIgniter index.php

預設的CI網址預設都設定為index.php同一層級,因此所有的程式都必須指定index.php導向才能開始,例如 http://localhost/ci/index.php/welcome/test http://localhost/ci/welcome/test 本文將說明如何將惱人的index.php消除,還你一個漂亮的URL。 設定開始: 接下來說明如何使用rewrite方式將惱人的index.php去除。 rewrite不清楚的人,煩請先自行google 首先要先確定Apache的 mod_rewrite 有 開啟 ,如果沒有開啟請設定好之後重新啟動apache。 接著,在根目錄底下建立一個新檔案,檔名為 .htaccess ,裡面程式碼如下: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 接著到 application/config/config.php ,開啟檔案修改 $config['index_page'] = ""; 注意: /index.php/$1 要根據你目錄,例如 http://localhost/index.php ,網站根目錄為 /ci/index.php 則要寫成 /ci/index.php/$1 接著至CI目錄下,尋找 config\config.php , 修改一下裡面的檔案,修改如下: $config['index_page'] = ""; 存檔後,如此一來大功告成。 參考資料 官方網站說明

[教學] Mojito 安裝與入門,install mojito for beginner.

mojito ,最近終於從 YDN 對外公開此專案,這個套件主要用於解決前端多重裝置及瀏覽器端的問題,後端服務採取 node.js ,因此使用上必定要先準備以下幾個元素 準備素材 c++ complier git Node.js > 0.4.x NPM > 1.0.x 安裝方式 git clone git://github.com/yahoo/mojito.git cd mojito/source sudo npm install -g . npm install . 以上四個簡單的步驟,就可以把 mojito module 完整安裝到服務器上,接著就可以開始進入 mojito 的世界 使用方式 mojito 提供了完整的 command line 給開發者使用,接著先建立一個基本 hello world 專案,跟著以下步驟完成第一個專案。首先建立一個 mojito application, mojito create app hello cd hello 切換到目錄之後,再接著建立自己的 mojit,這邊的 mojit 就像是一個應用(application)可能會包含許多個獨立網站體,擁有獨立架構的 MVC ,包含內部設定等,詳細資料可以參考官方的 說明 ,建立 mojit mojito create mojit HelloMojit 輸入指令後,會看到顯示結果如下, creating mojit called 'HelloMojit' (using "default" archetype) ✔ mojit: HelloMojit created! ✔ mojito done. 接著修改 application.json 這個 mojit 設定檔案,讓剛才新建立的 hellp application 指定底下有一個 mojit -> HelloMojit ,讓應用可以去執行 mojit controller ,修改如下, [ { "settings": [ "master" ], "appPort": 8666, "specs": { ...