0

メインの Express アプリのクラスを使用して、コマンドライン スクリプトを作成しています。

スクリプトは次のフォルダーにあります。

bin/utils/
├── sync-buyers.ts
└── tsconfig.json

メインの Express アプリは/app使用中import '@/foo/bar/thingです。

tsconfig.jsonこれは、メイン アプリの で次のように設定されます。

"paths": {
        "@/*": ["*"],
        "*": [
            "node_modules/*",
            "app/typings/*"
        ]
    }
},
"include": ["app/**/*", "test/**/*"],
"exclude": ["app/**/*.test.ts", "/__tests__/", "/__mocks__/", "/__snapshots__/", "app/**/__mocks__/"],
"files": ["typings/global.d.ts"]

スクリプトの実行

メインアプリからインポートできるかテストしているので、sayHello()関数を作成しました。

#!/usr/bin/env ts-node
/* tslint:disable */

import { sayHello } from '../../app/services/v2/oapp';
sayHello();

私がそれを実行すると:

TSError: ⨯ Unable to compile TypeScript:
../../app/services/v2/oapp.ts(9,19): error TS2307: Cannot find module 
'@/helpers/fetch'.
../../app/services/v2/oapp.ts(10,31): error TS2307: Cannot find module 
'@/services/v2/buyer'.
../../app/services/v2/oapp.ts(11,51): error TS2307: Cannot find module 
'@/http/HttpHeader'.

概要:

ts-node は '@' スタイルのインポートをサポートしていますか? もしそうなら、どのように設定すればよいですか?

4

1 に答える 1