项目原始demo,不改动
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Este repositório está arquivado. Pode ver ficheiros e cloná-lo, mas não pode fazer envios ou lançar questões ou pedidos de integração.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # babel-plugin-transform-decorators
  2. > Compile class and object decorators to ES5
  3. ## Example
  4. (examples are from proposal)
  5. ### Simple class decorator
  6. ```js
  7. @annotation
  8. class MyClass { }
  9. function annotation(target) {
  10. target.annotated = true;
  11. }
  12. ```
  13. ### Class decorator
  14. ```js
  15. @isTestable(true)
  16. class MyClass { }
  17. function isTestable(value) {
  18. return function decorator(target) {
  19. target.isTestable = value;
  20. }
  21. }
  22. ```
  23. ### Class function decorator
  24. ```js
  25. class C {
  26. @enumerable(false)
  27. method() { }
  28. }
  29. function enumerable(value) {
  30. return function (target, key, descriptor) {
  31. descriptor.enumerable = value;
  32. return descriptor;
  33. }
  34. }
  35. ```
  36. ## Installation
  37. ```sh
  38. npm install --save-dev babel-plugin-transform-decorators
  39. ```
  40. ## Usage
  41. ### Via `.babelrc` (Recommended)
  42. **.babelrc**
  43. ```json
  44. {
  45. "plugins": ["transform-decorators"]
  46. }
  47. ```
  48. ### Via CLI
  49. ```sh
  50. babel --plugins transform-decorators script.js
  51. ```
  52. ### Via Node API
  53. ```javascript
  54. require("babel-core").transform("code", {
  55. plugins: ["transform-decorators"]
  56. });
  57. ```
  58. ## References
  59. * [Proposal: Javascript Decorators](https://github.com/wycats/javascript-decorators/blob/master/README.md)