有没有办法在sails.js中获得ES6?SailsJS支持ES6吗?
回答
这是一个node.js问题,没有明确的风帆。是当前版本的node.js支持某些ES2015标准,具体取决于您启动服务器时使用的Node.js版本和标志。
大部分功能已经激活,但使用所有的功能,你会在你的项目文件夹使用node app.js --es_staging
或node app.js --harmony
代替sails lift
以下链接提供什么功能目前版本的节点支持,以及如何更新的信息访问它们。
您需要检查ES6的兼容性与node.js的,而不是任何框架一样sails.js,快递等
因为在最后的node.js将JavaScript的改变服务器端代码。 因此,您使用的是哪种框架并不重要。
You can use the sails with ES6:
对于ES6兼容性检查kangax.github.io。
推荐:
Sails v 0.11.0 or greater
Node v 4.. or greater
npm v 2.14.4 or greater
现在,您可以探索新的Ecmascript6功能。
您将从http://es6-features.org/获得新功能。
TEST:
代码:
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]
}
毗湿奴的答案有你覆盖。
ES6的显式列表功能在最新的节点版本可在这里https://nodejs.org/en/docs/es6/
Which ES6 features ship with Node.js by default (no runtime flag required)?
- 设(严格模式)
- 常量
- 功能的块(严格模式只)
- 自v8 3.31.74.1开始,块范围声明有意使用非兼容限制严格的模式代码。开发人员应该意识到,随着v8继续向ES6规范合规性发展,这将会发生变化。
- 类(严格模式)
- 集合
- 地图
- WeakMap
- 设置
- WeakSet
- 类型数组
- 发电机
- 二进制和八进制文字 个
- 对象字面扩展(简写属性和方法)
- 承诺
- 新的String方法
- 符号
- 模板串
- 箭头功能
对不起,格式化。应用程序不是最好的 –
SailsJS只是通过ES5语法编写框架并且它不需要支持ES6。
您可以像往常一样使用ES6语法编写项目,并使用Babel \ Traceur \来运行任何操作。
我的流程如下:
- 创建帆项目;
- 安装
babel
作为devDependencies
; - 更新
npm start
脚本package.json
与"start": "babel-node app.js"
;
就是这样。我可以在我的controllers \ models \ etc中编写ES6 \ 7代码,并通过npm start
命令运行服务器。当你用ES5语法编写它时,它就像往常一样工作。
不那么容易。引发错误: /node_modules/source-map-support/source-map-support.js:415 var hasStack =(arguments [1] && arguments [1] .stack); ^ TypeError:无法读取未定义的属性'文件名' – alexmngn
还有就是sails-hook-babel钩子,可以先制定出适合您。它不适用于我,正如我在下面解释的那样,但我希望它获得更高的可见度,得到改进,然后这个答案将更具相关性。
目前,从v6.0.1开始,该库将在sails挂接运行后加载文件。这意味着如果您想在例如ES2015中使用ES2015你的config/routes.js
文件,你会得到一个语法错误。但正如this issue所建议,它应该适用于例如api
文件夹中的文件。
- 1. Cordova支持ES6和/或Angular2吗?
- 2. ES6 React和ESLint支持
- 3. sailsjs框架不支持交易
- 4. 我可以支持所有ES5,ES6,ES7功能吗?
- 5. JSX支持哪些ES6功能?
- 6. Babel.js是否支持ES6 Object.observer()方法?
- 7. ES6支持心不是工作
- 8. 对PhantomJS中的ES6的原生支持
- 9. ES6扩展语法IE不支持
- 10. ReSharper的ES6默认参数支持
- 11. NetBeans 8.1上的Javascript es6语法支持
- 12. VS代码如何支持ES6代码
- 13. 你支付Subversion支持吗?
- 14. 不支持linux 3.7.1支持ext2吗?
- 15. Ecdescript-6/es6对Enide/eclipse的支持不足Ecorte-6/es6对导入/导出的“意外令牌”的支持
- 16. MonoTouch支持NSInvocationOperation吗?
- 17. GraphQL支持Websockets吗?
- 18. MVVMCross支持ActionBar吗?
- 19. Chrome支持“addEventListener”吗?
- 20. emfield支持iTunes吗?
- 21. SlimBox2支持PNG吗?
- 22. GWT支持Deque吗?
- 23. Watin支持xPath吗?
- 24. yslow支持iframe吗?
- 25. PlayBook支持GWT吗?
- 26. Robotium支持OpenGL吗?
- 27. Android支持SNMP吗?
- 28. Inapsaps支持websockets吗?
- 29. PyOpenCV支持GPU吗?
- 30. OpenVswitch支持BFD吗?
V8团队认为舞台功能并不稳定。但你可以通过--harmony标志来使用它们。但我认为你必须等到他们稳定。 –