我正在尝试为我在Three.js和Cannon.js之上构建的应用程序设置CannonDebugRenderer的实例化和实例。我正在看这个例子,其中包括Cannon.js和Three.js的一起使用
https://github.com/schteppe/cannon.js/blob/master/tools/threejs/example.html
到目前为止,我一直在使用Three.js,通过使用NPM将其保存为依赖项,我假设它是从github repo中提取出来的
https://github.com/mrdoob/three.js/
import * as THREE from "three"
我的理解是,这取决于几件事
-
Webpack了解“三”实际上是node_modules/three/build/three.min.js,因此它知道在传输时从何处提取
-
第一个问题是,示例使用的Cannon repo的lib目录中似乎有一个three.js,而不是node_modules/three中官方NPM托管目录中的three.min.js
https://github.com/schteppe/cannon.js/blob/master/libs/Three.js
第二个问题是CannonDebugRenderer似乎包含在Three.js的Cannon.js打包版本中,但不包含在正式的Three.js中。
Cannon是不是应该像Three.js那样捆绑在一起?repo上的自述文件似乎表明它是NPM兼容的,但这可能只包括从存储库中获取它的功能,而不是像triple.js那样将它与Webpack捆绑在一起?
如何使用ES6语法导入CannondBugRenderer并将应用程序捆绑到单个Javascript文件中?