LoginSignup
4
4

More than 3 years have passed since last update.

Denoを使うと、TypeScriptをコンパイルせずに実行できます。これをDockerコンテナ上で実行し、DenoもインストールすることなくTypeScriptを動かしてみましょう。

環境

  • Debian version 10.9 (ChromeOS 89.0 Chrostini Linux)
  • Docker 20.10.6
  • deno 1.9.2
    • v8 9.1.269.5
    • typescript 4.2.2
  • Visual Studio Code 1.55.2

構築

Dockerfile,docker-compose.ymlを配置してコンテナを立ち上げVSCode Remote Containerでアタッチするだけです。

Dockerfile
FROM debian:stable-slim
WORKDIR /app

RUN apt-get update && apt-get install -y \
    curl \
    zip \
    unzip \
    git \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

RUN curl -fsSL https://deno.land/x/install/install.sh | sh
ENV DENO_INSTALL="/root/.deno"
ENV PATH="$DENO_INSTALL/bin:$PATH"
docker-compose.yml
version: '3'
services:
  app:
    build: .
    volumes:
      - .:/app

$ echo 'console.log("Hello, world")' > main.tsのように適当なTypeScriptファイルを作って、$ docker-compose buildして$ docker-compose run --rm app deno run main.tsして動作したら成功です。

VS Codeの設定

vscode-deno拡張機能をインストールして下記設定で有効にする必要があります。VS CodeはデフォルトでTypeScriptに対応しているのでそれなりに動いてくれるのですが、エディタ上でnoImplictAnyが効かなかったりしました。

.vscode/settings.json
{
  "deno.enable": true
}

参考文献

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4