2016-08-30 7 views
0

threejs npmビルドを使用してTHREEjsオブジェクトをインスタンス化してブラウザー化できないようです。threejs npmとBrowserifyでコンストラクターに問題が発生する

var THREE = require("three-js"); 
var camera = new THREE.PerspectiveCamera(75, 1, 20, 2250); 

これはエラー

bundle.js:24 Uncaught TypeError: THREE.PerspectiveCamera is not a constructor 

をスローし、私は私がいることを私は疑う作業ビルドから、私はこのコードを移植していたようコンストラクタはbundle.js

THREE.PerspectiveCamera = function (fov, aspect, near, far) { 

    THREE.Camera.call(this); 

    this.type = 'PerspectiveCamera'; 

    this.fov = fov !== undefined ? fov : 50; 
    this.zoom = 1; 

    this.near = near !== undefined ? near : 0.1; 
    this.far = far !== undefined ? far : 2000; 
    this.focus = 10; 

    this.aspect = aspect !== undefined ? aspect : 1; 
    this.view = null; 

    this.filmGauge = 35; // width of the film (default in millimeters) 
    this.filmOffset = 0; // horizontal film offset (same unit as gauge) 

    this.updateProjectionMatrix(); 

}; 

に存在していることを見ることができますBrowserifyで何か問題が起きている可能性があります。

NPM Threejs問題は正しく3-jsのオブジェクトを構築していなかったバージョン79

答えて

0

を構築します。 https://www.npmjs.com/package/three-js

var THREE = require("three-js")(); 

から余分な括弧は私の例から欠落していました。

FYI:使用する作業のアドオンにこの構造を得るために

var oc = require("three-js/addons/OrbitControls"); 
var anotherAddon = require("three-js/addons/anotherAddon"); 
var THREE = require('three-js')([oc,anotherAddon]); 
関連する問題