9

TypeScript と Webpack を使用して lib を構築しています。

このライブラリを開発するために、別のテスト プロジェクト (JS を使用して記述) を作成し、npm link <package-name>.

問題は、リンクがビルド ファイルにつながりnpm run build、変更を加えるたびに実行する必要があることです。

ソース ファイルへのリンクが必要で、ライブ リロードが必要です。出来ますか?それを可能にするために、TS を使用してテスト プロジェクトを作成する必要がありますか?

ライブラリpackage.json:

{
  ...
  "main": "lib/qr-code-styling.js",
  "files": [
    "lib"
  ],
  "scripts": {
    "build": "webpack --mode=production"
  },
  ...
}

ライブラリのコードhttps://github.com/kozakdenys/qr-code-styling/tree/v1

テスト プロジェクトのコードhttps://github.com/kozakdenys/qr-code-styling-site

PS私も試してみ"module": "src/index.ts"ましたpackage.jsonが、テストプロジェクトでエラーが発生しますUncaught Error: Cannot find module './core/QRCodeStyling'

4

3 に答える 3

12

はい、テスト プロジェクトも TypeScript で作成する必要があります。その後、テスト プロジェクトtsconfigファイル内のリンクされたモジュール ソース ファイルにパッケージをマップする必要があります。

ファイルのcompilerOptionsエントリに、次の例のようにaとエントリをtsconfig追加します。baseUrlpaths

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "linked-module-name": ["node_modules/linked-module-name/src"],
      "linked-module-name/*": ["node_modules/linked-module-name/src/*"]
    }
  }
}

TypeScript docsでパス マッピングの詳細を参照してください。

于 2019-10-19T10:49:56.740 に答える