3.7.2.7. TypeScript Support
Since Release 6.9 you can scaffold TypeScript based Polymer client in Studio. When creating Polymer client module you will be able to select polymer2-typescript
preset of the client. Main differences with basic JavaScript version:
-
Component classes are placed in separate
*.ts
files
myapp-component.ts
namespace myapp {
const {customElement} = Polymer.decorators;
@customElement('myapp-component')
class MyappComponent extends Polymer.Element {
}
}
myapp-component.html
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="./shared-styles.html">
<dom-module id="myapp-component">
<template>
<!-- some html markup -->
</template>
<script src="myapp-component.js"></script>
</dom-module>
- There is an additional phase of build process - TypeScript compilation
-
See
scripts
section ofpackage.json
{
"scripts": {
"build": "npm run compile && polymer build",
"compile": "tsc",
"watch": "tsc -w"
}
}
Now before polymer build
there is npm run compile
command which effectively runs TypeScript compilation (tsc
).
If you change the source code of component classes and expect your changes to be picked by Studio’s hot deploy you should manually run |