节点 v14.x,StencilJS (React) v2.3.x
我有一个带有将字符串数组转换为数字数组的导出函数的测试助手文件:
export function parseNumericStringOrStringArrayToIntegers(value: string | (string | string[])[]): number | (number | number[])[] {
if (typeof value === 'string') {
return parseInt(value);
} else {
return value.map((item) => parseNumericStringOrStringArrayToIntegers(item)) as number | (number | number[])[];
}
}
我决定这个函数应该在index.d.ts
组件中,这样我就可以在组件本身中更合乎逻辑地使用它。我将它移动并更改export
为declare
,删除import {parseNumericStringOrStringArrayToIntegers} from "./index";
了它被JetBrains IDE > move更改的位置,并且奇怪地期望东西“正常工作”。它没有...
它给我带来了两个npm run build
似乎相关的错误,但我不知道如何解决它:
[ ERROR ] TypeScript: ./src/components/app/index.d.ts:46:108
An implementation cannot be declared in ambient contexts.
L46: declare function parseNumericStringOrStringArrayToIntegers(value: string | (string | string[])[]): ConfigIntValue {
L47: if (typeof value === 'string') {
[ ERROR ] TypeScript: ./src/components/app/index.d.ts:48:5
Statements are not allowed in ambient contexts.
L47: if (typeof value === 'string') {
L48: return parseInt(value);
L49: } else {
显然,我在这里遗漏了一些明显的东西,但是什么?