1

是否可以在 Angular 中使用 JSON Schema faker 作为第三方依赖项。我尝试使用对 Angular 的依赖注入,但是在提供程序中我无法导入 jsonSchemaFaker。

角.json

"scripts": [
    "./node_modules/json-schema-faker/dist/json-schema-faker.bundle.min.js"
]

jsonSchemaFaker.service.ts

import { InjectionToken } from '@angular/core';
export const JSF_Token = new InjectionToken ('jsonSchemaFaker');

app.module.ts

providers: [
    { provide: JSF_Token, useValue: jsf }
]

...

declare let jsf: any;

这就是我试图在我的 Angular 应用程序中注入 json schema faker 作为依赖项。我得到了 .. Uncaught ReferenceError: jsf is not defined

4

2 回答 2

1

这不是您在 Angular 应用程序中使用 npm 包的方式。

首先,导航到package.json应用程序中的目录并安装包:

npm install json-schema-faker

然后,在您的组件或服务中,这样使用它:

// at the top of your file, next to other imports
import jsf from 'json-schema-faker';

// json-schema-faker is now available in the rest of your file as jsf

// you can, for example, have a service method that returns that:
jsf.generate({type: 'string'})
于 2019-02-26T12:23:14.547 回答
0

我不得不将我的提供者和声明更改为

providers: [
    { provide: JSF_Token, useValue: JSONSchemaFaker }
]

declare let JSONSchemaFaker: any;

原因:该库中提到的 JSON Schema Faker 的全局名称是“JSONSchemaFaker”。将其声明为 jsf 是我的错误。

于 2019-05-25T04:55:36.267 回答