我正在使用主快递应用程序中的类创建一个命令行脚本。
脚本位于文件夹中:
bin/utils/
├── sync-buyers.ts
└── tsconfig.json
主要快递应用程序正在/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 是否支持 '@' 样式的导入?如果是这样,我该如何设置?