那是你导入它的方式引起了问题。
你应该通过输入以下内容进行导入:
import 'p5';
然后声明一个变量:
private p5;
现在您应该能够做到这样:
ngOnInit() {
this.createCanvas();
}
private createCanvas() {
this.p5 = new p5(this.sketch);
}
private sketch(p: any) {
p.setup = () => {
p.createCanvas(700, 600);
};
p.draw = () => {
p.background(255);
p.fill(0);
p.rect(p.width / 2, p.height / 2, 50, 50);
};
}
这是我的ng版本:
Angular CLI: 1.7.4
Node: 9.11.1
OS: win32 x64
Angular: 5.2.11
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.7.4
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0
在 package.json 中,p5 的版本应该是最新的。
"p5": "^0.6.1"
对我来说一切都正常。
希望它能有所帮助。
import * from 'p5'
。 - Brendan Whiting