[英]How to use 3rd party npm moduls in typescript (Angular2)
是否有任何文档或分步指南介绍如何执行此操作?
我想举一个例子:我尝试在有角度的应用程序中使用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'.)
因此,我声明了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
当然,我可以通过运行为simpl-schem创建类型信息
dts-gen -m simpl-schema
但我仍然需要require
行,对吗? 我想知道在angular中使用第三方npm模块的正确方法是什么。
您需要定义打字稿才能使用第三方模块。 每个模块都带有一个typescript d.ts文件,该文件定义了可以在库中使用的方法。 但是,此文件不包含在内,因此您需要编写自己的d.ts文件或在此处检查DefinitelyTyped的存储库: https : //github.com/DefinitelyTyped/DefinitelyTyped
只需将d.ts文件添加到您的项目中,即可使用您的库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.