Có cách nào để lấy ES6 trong sails.js không?SailsJS có hỗ trợ ES6 không?
Trả lời
Đây là câu hỏi node.js không phải là các cánh buồm cụ thể. Có phiên bản hiện tại của node.js hỗ trợ các tiêu chuẩn ES2015 nhất định tùy thuộc vào phiên bản Node.js và cờ bạn sử dụng khi bạn khởi động máy chủ của mình.
Hầu hết các tính năng này đã được kích hoạt, tuy nhiên để sử dụng tất cả các tính năng, bạn sẽ sử dụng node app.js --es_staging
hoặc node app.js --harmony
trong thư mục dự án của bạn thay vì sails lift
Các liên kết sau đây cung cấp cập nhật thông tin về những tính năng phiên bản hiện tại hỗ trợ Node và làm thế nào để truy cập chúng.
Bạn cần phải kiểm tra tính tương thích của ES6 với Node.js thay vì bất kỳ khuôn khổ như sails.js, thể hiện, vv
Bởi vì tại Node.js cuối cùng sẽ thay đổi hoạt Javascript để mã phía máy chủ. Vì vậy, không quan trọng bạn đang sử dụng khung công tác nào.
You can use the sails with ES6:
Để kiểm tra khả năng tương thích ES6 kangax.github.io.
Khuyến cáo:
Sails v 0.11.0 or greater
Node v 4.. or greater
npm v 2.14.4 or greater
Bây giờ bạn đã sẵn sàng để khám phá tính năng mới Ecmascript6.
Bạn sẽ nhận được tính năng mới từ http://es6-features.org/.
TEST:
Code:
ecma6Test:function(req,res,next){
var evens =req.body.evens
odds = evens.map(v => v + 1);
res.json({sucess:true,'odds':odds});
}
Yêu cầu:
{"evens":[2,4,6,8,10]}
đáp ứng:
{
"sucess": true,
"odds":[3, 5, 7, 9, 11]
}
câu trả lời Vishnu của bạn có bảo hiểm.
Danh sách rõ ràng của ES6 tính năng có sẵn trong bản phát hành nút mới nhất là đây https://nodejs.org/en/docs/es6/
Which ES6 features ship with Node.js by default (no runtime flag required)?
- let (chế độ nghiêm ngặt chỉ)
- const
- chức năng-in-khối (chế độ nghiêm ngặt chỉ)
- Kể từ phiên bản v8 3.31.74.1, các khai báo dạng khối được triển khai có chủ đích với một giới hạn không tuân thủ itation đến mã chế độ nghiêm ngặt. Các nhà phát triển cần lưu ý rằng điều này sẽ thay đổi khi v8 tiếp tục hướng tới tuân thủ đặc tả ES6.
- Lớp học (chế độ nghiêm ngặt chỉ)
- Collections
- Bản đồ
- WeakMap
- Đặt
- WeakSet
- mảng Typed
- phát
- Binary và Octal literals
- Object mở rộng chữ (tính viết tắt và phương pháp)
- Promises phương pháp
- New Chuỗi
- Biểu tượng
- chuỗi Template Chức năng
- mũi tên
Xin lỗi vì định dạng. Ứng dụng không phải là tốt nhất cho nó –
SailsJS chỉ là một khuôn khổ văn bản thông qua cú pháp ES5 và nó không cần hỗ trợ ES6.
Bạn có thể viết dự án với cú pháp ES6 như bạn thường làm và sử dụng Babel \ Traceur \ bất kỳ thứ gì để chạy.
dòng chảy của tôi là như sau:
- Tạo dự án Sails;
- Cài đặt
babel
làdevDependencies
; - Cập nhật
npm start
tập lệnh trongpackage.json
với"start": "babel-node app.js"
;
Vậy đó. Tôi có thể viết mã ES6 \ 7 trong bộ điều khiển \ mô hình \ etc và chạy máy chủ thông qua lệnh npm start
. Nó hoạt động như bình thường khi bạn viết nó với cú pháp ES5.
Thật không may dễ dàng như vậy. Lỗi được ném: /node_modules/source-map-support/source-map-support.js:415 var hasStack = (đối số [1] && đối số [1] .stack); ^ LoạiError: Không thể đọc thuộc tính 'filename' của undefined – alexmngn
Có là sails-hook-babel móc có thể làm việc ra cho bạn. Nó không hiệu quả đối với tôi, như tôi giải thích dưới đây, nhưng tôi hy vọng nó có khả năng hiển thị cao hơn, được cải thiện, và sau đó câu trả lời này sẽ phù hợp hơn.
Hiện tại, v6.0.1 thư viện sẽ hoạt động đối với các tệp được tải sau khi các đuôi sails chạy. Điều này có nghĩa là nếu bạn muốn sử dụng ES2015, ví dụ: tệp config/routes.js
của bạn, bạn sẽ nhận được lỗi cú pháp. Nhưng như được đề xuất trong this issue, nó sẽ hoạt động cho ví dụ: tệp trong thư mục api
.
- 1. Thử nghiệm Mocha ES6 được hỗ trợ?
- 2. Hỗ trợ ES6/ES7 trong Visual Studio 2015 Community
- 3. Hỗ trợ ES6 mô-đun cú pháp cùng với CommonJS
- 4. Hỗ trợ Mã VS2010 có hỗ trợ nUnit không?
- 5. Weblogic có hỗ trợ CDI Beans không?
- 6. iPhone có hỗ trợ XML-RPC không?
- 7. Mono có hỗ trợ XAML không?
- 8. GCC có hỗ trợ lâu dài không?
- 9. VC++ có hỗ trợ _mm_malloc không?
- 10. AutoMapper có hỗ trợ LINQ không?
- 11. Arduino có hỗ trợ luồng không?
- 12. IE10 có hỗ trợ FormData() không?
- 13. TypeScript có hỗ trợ TouchEvent không?
- 14. S3 có hỗ trợ HTTP pipelining không?
- 15. BetterPickers không có thư viện hỗ trợ
- 16. PowerShell có hỗ trợ OOP không?
- 17. GWT có hỗ trợ php không?
- 18. Có định nghĩa hỗ trợ tryhaskell.org không?
- 19. Cassandra có hỗ trợ sharding không?
- 20. MemoryCache có hỗ trợ vùng không?
- 21. Tomcat có hỗ trợ TLS v1.2 không?
- 22. DS.FixtureAdapter có hỗ trợ sideload không?
- 23. CMake có hỗ trợ Python3 không?
- 24. PhantomJS có hỗ trợ cookie không?
- 25. Golang TLS có hỗ trợ IE8 không?
- 26. Laravel Mix có hỗ trợ ES8 không?
- 27. C-ares có hỗ trợ IOS không?
- 28. PyCharm có hỗ trợ Jinja2 không?
- 29. Wcf basicHttpBinding có hỗ trợ PerSession không?
- 30. PySide có hỗ trợ Python 3 không?
Tính năng dàn dựng không được nhóm V8 đánh giá là ổn định. nhưng bạn có thể sử dụng chúng theo cờ --harmony. Nhưng tôi nghĩ bạn phải đợi cho đến khi chúng ổn định. –