Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

angular - Can't import A-frame into component - Angular2

I have a project created with angular-cli where I have installed aframe via npm install aframe --save, and when I try to import it in the component via import 'aframe'; it causes the following error:

Failed to execute registerElement on Document: Registration failed for type a-node. A type with that name is already registered.

In this case, the only way to make it work is by importing the library in the <head> tag of the index.html file. Instead I would like to access aframe object3D to modify objects entities, as shown here:

AFRAME.registerComponent('foo', {
  init: function () {
    // Do something
  }
});

but unluckily I am not able to make it work. Do you have an idea on how to solve this issue? Thanks in advance for your replies!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Here is what you have to get it properly working in Angular2:

  1. Edit your angular-cli.json and add the path to the scripts node:
"scripts": [
  "node_modules/aframe/dist/aframe-master.js"
],
  1. Download the typings from https://github.com/devpaul/aframe-typings/blob/master/src/AFRAME.d.ts.

  2. Reference the typings in your component with:

/// <reference path="../typings/AFRAME.d.ts" />

or install the typings globally in your tsconfig.json:

"files": [
    "typings/AFRAME.d.ts"
  ]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...