0

我正在尝试为我的打字稿项目使用normalizr库。所以我定义了以下实体架构(js格式)

//schema.js
import { Schema, Entity } from "normalizr";
export const user = new Schema.Entity("users", options = { idAttribute: "userId" });

并尝试在 .ts 文件中使用它

//app.ts
import { user } from "./schemas";

导致错误:

模块 ./schemas 被解析为“schemas.js”,但未设置“allowJs”参数

如果我在 tsconfig.json 中设置 allowJs = true ,则会发生错误:

无法写入文件“.../schemas.js”,因为它会覆盖输入文件

我也使用了这种方法

//schemas.ts
import * as normalizr from 'normalizr';
export const user = new normalizr.Schema.Entity("users");

但是又出现了错误:

类型 'typeof' 上不存在属性架构 .../normalizr/index

我该如何解决?

Visual Studio 2017,ts v.2.2.2

4

1 回答 1

1

查看 normalizr 的类型定义,Entity该类位于schema命名空间内(带有小写的 s):

import * as normalizr from 'normalizr';
export const user = new normalizr.schema.Entity("users");
于 2017-05-22T14:27:20.083 回答