[英]Does SailsJS support ES6?
SailsJS只是一個通過ES5語法編寫的框架,它不需要支持ES6。
您可以像平常一樣使用ES6語法編寫項目,並使用Babel \\ Traceur \\以便運行。
我的流程如下:
babel
作為devDependencies
; "start": "babel-node app.js"
更新package.json
npm start
腳本"start": "babel-node app.js"
; 而已。 我可以在我的controllers \\ models \\ etc中編寫ES6 \\ 7代碼,並通過npm start
命令運行服務器。 它像往常一樣使用ES5語法編寫它。
您需要檢查ES6與node.js的兼容性,而不是像sails.js,express等任何框架。
因為最后node.js會將javaScript更改為服務器端代碼。 因此,使用哪個框架無關緊要。
你可以使用ES6的帆:
對於ES6兼容性,請檢查kangax.github.io 。
推薦的 :
風帆 v 0.11.0或更高
節點 v 4 。 或更高
npm v 2.14.4或更高版本
現在您已准備好探索新的Ecmascript6功能。
您將從http://es6-features.org/獲得新功能。
測試:
碼:
ecma6Test:function(req,res,next){
var evens =req.body.evens
odds = evens.map(v => v + 1);
res.json({sucess:true,'odds':odds});
}
請求:
{"evens":[2,4,6,8,10]}
回應:
{
"sucess": true,
"odds":[3, 5, 7, 9, 11]
}
這是一個node.js問題,不是特定的風帆。 是當前版本的node.js支持某些ES2015標准,具體取決於您啟動服務器時使用的Node.js版本和標志。
大多數功能已經處於活動狀態,但是要使用所有功能,您可以在項目文件夾中使用node app.js --es_staging
或node app.js --harmony
node app.js --es_staging
而不是node app.js --es_staging
sails lift
以下鏈接提供有關Node支持的當前版本以及如何訪問它們的功能的更新信息。
Vishnu的回答讓你了解。
最新節點版本中提供的ES6功能的明確列表位於https://nodejs.org/en/docs/es6/
默認情況下哪個ES6功能附帶Node.js(不需要運行時標志)?
有一個帆 - 鈎 - 巴貝爾鈎可能會為你工作。 它對我不起作用,正如我在下面解釋的那樣,但我希望它獲得更高的可見性,得到改善,然后這個答案將更具相關性。
目前,從v6.0.1開始,該庫將用於在sails鈎子運行后加載的文件。 這意味着如果您想在例如config/routes.js
文件中使用ES2015,則會出現語法錯誤。 但正如本期所述 ,它應該適用於例如api
文件夾中的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.