2017-04-13 107 views
-3

我正在使用一些npm模塊,我想知道他們需要運行哪個ECMAScript版本。我目前使用brite模塊,並有問題。我認爲這個問題是因爲模塊需要更新的版本,但我找不到任何有關它需要的信息。 對於npm模塊,他們使用的版本是否有一個通用規範?npm模塊使用哪個ECMAScript版本?

+1

你會需要更具體。你遇到的問題究竟是什麼?比如,錯誤是什麼? – Pointy

+0

這取決於模塊 - 您最好的選擇是查看文檔 – Whymarrh

+0

對我來說看起來像ecma 4,但也可以是5 – mtizziani

回答

1

這取決於哪些模塊。有些模塊可以使用ES3,有些可以使用ES5,有些可以使用ES6,有些可以使用ES2017。沒有一個版本的ECMAScript可以編寫所有的npm模塊,但通常大部分模塊都可以在任何合理的現代版本的Node上運行。但請記住,並非npm上的所有內容都是Node模塊。故宮可以用於分發像前端代碼或even Perl scripts!

您在這個問題掛不包括engines領域package.json故宮包,用於指定它需要節點版本的一些其他的代碼 - 見:

它也沒有任何自動化測試可以驗證該節點版本支持。

你沒有包括在你的問題兩個最重要的事情:

  1. 你什麼錯誤,您正在使用什麼版本的節點

其他相關信息

  • ,你也不包括:

    • 你測試了最新的Node版本嗎?
    • 問題依然存在嗎?

    在這一點上,你不應該使用任何比6.x更早的Node版本,它是當前的LTS,最好是7.x,它是當前的穩定版本。你仍然可以使用4.x,因爲它仍然會得到一年的維護,但沒有理由。 5.x版本不是LTS,因此不再受到支持。請參見節點版本的維護計劃:

    要看到的ECMAScript支持節點的版本,請參見:

  • +0

    好吧,所以如果他們不寫在文檔中的版本我運氣不好?我使用節點4.5和browserify模塊來使用客戶端上沒有節點的模塊 – Ludy