是否有任何文档或分步指南介绍了如何执行此操作?
我想举个例子:我尝试在角度应用中使用包simpl-schema
。我创建了一个新的应用程序:
ng new ng-ss-test
cd ng-ss-test
npm install --save simpl-schema
在app.component.ts中我添加了:
let SimpleSchema = require('simpl-schema').default;
现在我收到了错误:
ERROR /app/app.component.ts (2,20): Cannot find name 'require'.)
所以,我已经宣布要求:
declare var require: any
好的,这实际上是有效的。我能写出像
这样的东西const schema = new SimpleSchema({
但我认为不是这样做的。我还有警告:
WARNING in ./~/handlebars/lib/index.js
require.extensions is not supported by webpack. Use a loader instead.
@ ./~/message-box/dist/MessageBox.js 13:18-39
@ ./~/simpl-schema/dist/SimpleSchema.js
@ ./~/simpl-schema/dist/main.js
@ ./src/app/app.component.ts
@ ./src/app/app.module.ts
@ ./src/main.ts
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
当然,我可以通过运行
为simple-schem创建类型信息dts-gen -m simpl-schema
但我还需要require
行,对吗?我想知道在角度中使用第三方npm模块的正确方法是什么。
答案 0 :(得分:0)
您需要定义打字稿才能使用第三方模块。每个模块都附带一个typescript d.ts文件,该文件定义了您可以在库中使用的方法。但是,这并没有包含任何内容,因此您需要编写自己的d.ts文件或在此处查看DefinitelyTyped'■{/ 3}}
只需将d.ts文件添加到您的项目中,您就可以使用您的库了。