2016-01-09 45 views
0

我有我想要編譯一個很簡單的sweet.js文件:Sweet.js不Outputing任何

macro @ { 
    rule { 
     $exp 
    }=>{ 
     + $exp + 
    } 
} 

...使用這個命令:

sjs -o out.js my_file.js 

但沒有什麼是讓輸出; out.js文件被創建,但它不包含任何內容。起初我以爲它可能是sweet.js文件本身的任何問題,但是當我使用sweet.js在線編輯器測試它時,它會按預期工作。

我沒有正確使用'sjs'命令嗎?還有什麼我可以忽略的嗎?

+1

因爲你只編譯一個宏?嘗試使用該宏。 – Fabricator

+0

sweet.js編譯器應該將所有宏擴展爲Javascript代碼。 –

+0

宏只存在於sweetjs中。它們是用於創建JavaScript代碼的語法糖。你必須像'@(123)' – Fabricator

回答

1

我能夠添加一些代碼行宏定義之外後編譯:

macro @ { 
rule { 
    $exp 
}=>{ 
    + $exp + 
    } 
} 

var msg = "Hello"; 
console.log("message is: " @msg "."); 

我誤解了我一直在閱讀的文檔,並以爲只是宏代碼本身可以編譯成JavaScript文件,但編譯器根據定義的宏利用已定義宏的代碼來提取JavaScript文件。