Logo Image

Blog Article

TypeScript 環境構築 メモ 📝

00

ディレクトリ作成後の環境構築手順のメモ

ディレクトリ作成後、TypeScriptをインストールするために、package.jsonを作成します。

作成したpackage.jsonの中でwebpackだのなんだのを管理していきます。

// npmで初期化する

npm init -y

以下のように出力されていればOKです。

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.

デベロップメント環境 (ローカル環境)でTypeScriptを作成していきます。

npm i --save-dev typescript

package.jsonの中を見て、TypeScriptがインストールされているかを確認します。

"devDependencies": {
    "typescript": "^5.1.5"
  }

TypeScriptをインストールするとnode_moduleというフォルダが出てきて、いろいろ使えるようになります。

webpackのインストール

以下のコマンドでwebpackとその他モロモロをインストールします。

npm i -D webpack webpack-cli webpack-dev-server ts-loader
  • webpack-cli

    webpack のコマンドラインインターフェイスです。 webpack-cli をインストールしなければ、webpack を実行することはできません。

  • webpack-dev-server

    簡単にwebpackでの開発サーバーを立ち上げることができます。

  • ts-loader

    webpackにTypeScriptの変換処理を組み込むloaderです。

webpackをインストール後はカスタマイズするためにwebpack.config.jsを作成します。

module.exports = {
  entry: {
    bundle: "./src/index.ts",
  },
  output: {
    path: `${__dirname}/dist`,
    filename: "[name].js",
  },
  mode: "development",
  resolve: {
    extensions: [".ts", ".js"],
  },
  devServer: {
    static: {
      directory: `${__dirname}/dist`,
    },
    open: true,
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        loader: "ts-loader",
      },
    ],
  },
};

webpack.config.jsの説明

以下は「どこにバンドルするのか、どのファイルをバンドルするのか」を記述しています。

entryは「どこのファイルをバンドルするのか」を記述します。以下はsrcディレクトリのindex.tsをバンドルするように指定しています。

module.exports = {
  entry: {
    bundle: "./src/index.ts",
  },
};

srcディレクトリを作成し、その中にindex.tsを作成します。

次に「バンドルしたものをどこに指定するのか」をoutputに記述します。

__dirnameはルートディレクトリを指しています。distの中にバンドルしたものをアウトプットするように指定します。

filenameは「どういう名前で出力するか」を指定します。

output: {
    path: `${__dirname}/dist`,
    filename: "[name].js",
  },

modeを指定します。

mode: "development",

resolveのextensionsで拡張子を省くことができます。

resolve: {
    extensions: [".ts", ".js"],
  },

ローカルサーバーを立ち上げたときに、どのファイルを見に行けばいいかを指定します。

devServer: {
    static: {
    directory: `${__dirname}/dist`,
    },
  },

拡張子が「.ts」のファイルをコンパイルするように指定します。

ts-loaderでコンパイルするように指定します。

module: {
    rules: [
      {
        test: /\.ts$/,
        loader: "ts-loader",
      },
    ],
  },

これらの設定を最初に行いますが、毎回設定するのはやたら面倒です。

なので一度設定したファイルをgithubにあげてコピペできるようにしておきましょう。

TypeScriptに関する設定を行う

ターミナルで以下の記述をします。

するとtsconfig.jsonが現れます。json形式のtypescriptを設定するためのファイルです。

npx tsc --init