概要
こちらの 「Elixir/PhoenixでTypeScriptを使えるようにする。」を実装したPhoenixプロダクトのJavaScript部分をTypeScriptにリプレイスする手順を残しておく。
手順
リプレイス前のjsファイルをfilename.js
とする。
1. filename.jsをassets/js
配下に配置
JSファイルをコピーしてペースト
2. ファイル名filename.jsをfilename.ts
に変更
3. html部分を書き換える
filename.html.eex
-<a href="javascript:void(0);" onclick="CallScript();">JS呼び出す</a><
+<a href="javascript:void(0);" id="call_script">TS呼び出す</a>
4.filename.ts
をTypeScriptに書き換える
filename.ts
+class Filename {
+ constructor() {
+ let call_script = document.getElementById("call_script");
+ call_script!.addEventListener("click", (e: Event) => this.CallScript());
+ }
+
-function CallScript() {
- console.log("OK");
-};
+ CallScript() {
+ console.log("OK");
+ }
+}
+new SayonalaJa();
5.webpack.config.js
に記述
entry: {
'app': './js/app.js',
+ 'filename': './js/filename.ts',
},
6.layout
部分でsrcを読み込む実装を追記
例えば、app.html.eex
で読み込む。
<script src="<%= Routes.static_path(@conn, "/js/app.js") %>"></script>
+ <script src="<%= Routes.static_path(@conn, "/js/filename_ja.js") %>"></script>
</body>