- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 Node.js Angular 应用程序,我正在尝试将 babylon.js 导入其中。
1) npm install --save babylonjs
将 npm 存储库安装到我项目的 Node 模块中。
The following image depicts the folder structure of the npm repo.
2) 在我的角度组件中,我从 babylon.module.d.ts
导入 BABYLON 声明和 babylon.max.js
上图中的文件就是这样。
import * as BABYLON from 'babylon.js'
Babylonjs now works great, has typings enabled and everything, so I can use BABYLON as pictured below
所有包含的扩展都没有连接。这些扩展位于以下文件夹中
(Full folder structure is in the first image. I left the gui folder open since that is the specific extension I am >trying to activate at this time)
主babylon.module.d.ts
文件定义 BABYLON 如下:
declare module BABYLON { //class types are defined in here }
gui 扩展(所有其他扩展遵循相同的逻辑)声明自己是 BABYLON 的一部分,如下所示:
declare module BABYLON.GUI { //extend classes & create new classes in here in here }
1) babylon.gui.d.ts 声明 BABYLON.GUI
所以我只是尝试了以下
import * as BABYLON from 'babylonjs';
import * as BABYLON.GUI from 'babylonjs/dist/preview release/gui/babylon.gui';
这会生成以下 Typescript 错误:Duplicate identifier 'BABYLON'
,然而,这并不奇怪,BABYLON.GUI is how the
babylon.gui.d.ts` 文件声明了它的部分。
2) 使用 index.html 文件中的 CDN。这可行,但是,类型将不起作用。即使我可以打字,使用 CDN 的性能也会降低。资源将加载到文档中 <head>
每一页。对于导入,只有在组件处于事件状态时才会查询资源。
3) 附加babylon.gui.d.ts
文件到 babylon.module.d.ts
文件。 BABYLON.GUI` 仍未定义。
Modifications to the npm repo are undesireable anyways, since any npm updates, or installs will overwrite the changes.
4) 我与 BABYLON 开发人员交谈过 here ,我们有点走进了死胡同。
有人对如何正确导入此扩展有任何意见吗?
附言。一旦我们得到这个答案,我将与开发人员合作,为所有希望将 babylon.js 合并到他们的项目中的 Node 用户实现无缝体验!
最佳答案
我与首席开发人员 deltakosh 谈过这个问题。
清除一些东西:
如果有人好奇here is the link到 github 上与此问题相关的公开问题。
在使用 Babylon 期间,我正在处理对导入包的导入支持,我做了以下工作:
对所有 babylon 库使用 CDN
要摆脱 typescript 编译问题,请在 .ts
文件的顶部声明以下内容,在此期间我们不会有任何打字优势。
如果您找到了更优雅的临时解决方案,请随时提出意见!
关于node.js - 在 Node 中导入扩展模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45227188/
我是 magento 的新手,目前我在 magento 安装期间遇到“必须加载 PHP 扩展 curl ”错误。你能帮帮我吗? 最佳答案 如果您的服务器上没有安装 curl,您可以键入以下命令之一来安
我在 macOS Mojave/macOS Big Sur/macOS Monterey/macOS Ventura 上使用最新的 php 版本 7.2 并收到类似错误 $composer requ
这个问题已经有答案了: Why generic type is not applicable for argument extends super class for both? (5 个回答) 已关
我正在使用 NightWatch.js 并进行一些 UI 测试,我想用一些额外的 desiredCapabilities 启动默认浏览器实例(即启用扩展并应用一些特定值)。 p> 注意:我可以执行这些
有人知道为什么我在 java 8 中使用此代码时没有服务器扩展名称吗: try { URL url = new URL(urlString); URLC
扩展提供给我的类(class)。为现有的类提供新功能。或扩展现有的mixin s 或虚拟类,任何东西都可以工作。 也许是这样的: class FlatButton {} // maybe no
我有一个关于使用 c 代码和 mod_wsgi 扩展 python 的问题。 我在 apache 服务器中有一个 django 应用程序,它查询 postgresql 数据库以生成报告。在某些报告中,
testcafe支持在Chrome浏览器中加载crx扩展吗? 如果是这样,请告诉我需要尝试什么方法。 我尝试了下面的代码,但没有成功 await t.eval(new Function(fs.read
这个问题已经有答案了: What is a raw type and why shouldn't we use it? (16 个回答) 已关闭 3 年前。 有什么区别: // 1 class A c
我正在编写一个 chrome 扩展来记录单击开始按钮后触发的请求。 这是我的文件:1. list .json { "manifest_version": 2, "name": "recorde
扩展是将较短的文本,例如一组提示或主题列表,输入到大型语言模型中,让模型生成更长的文本。我们可以利用这个特性让大语言模型生成基于某个主题的电子邮件或小论文。通过这种方式使用大语言模型,可以为工作与生活
我每天都在使用 vim 和 perforce 现在我的问题是,如果我想查看 perforce 文件修订版,则从命令模式下的 vim :!p4 打印文件#1 vim 试图让我获得缓冲区 #1。有没有办法
大家好,我有一个关于 NUnit 扩展(2.5.10)的问题。 我想做的是向 数据库。为此,我使用 Event 创建了 NUnit 扩展 听众。 我遇到的问题是公共(public)无效 TestFin
我有弹出窗口,而不是模态窗口。 如何通过单击页面的其他部分(不在窗口中)来关闭此窗口? 最佳答案 像这样的东西: function closeWin(e, t) { var el = win.
我通常非常谨慎地使用扩展方法。当我确实觉得有必要编写一个扩展方法时,有时我想重载该方法。我的问题是,您对调用其他扩展方法的扩展方法有何看法?不好的做法?感觉不对,但我无法真正定义原因。 例如,第二个
扩展 Ant Ant带有一组预定义的任务,但是你可以创建自己的任务,如下面的例子所示。 定制Ant 任务应扩展 org.apache.tools.ant.Task 类,同时也应该拓展 execut
我想要一个重定向所有请求的扩展: http://website.com/foo.js 到: http://localhost/myfoo.js 我无法使用主机文件将主机从 website.com 编辑
对于为什么 QChartView 放在 QTabWidget 中时会扩展,我有点迷惑。 这是 QChartView 未展开(因为它被隐藏)时应用程序的图片。 应用程序的黑色部分是 QOpenGLWid
如果在连接条件中使用 OR 运算符,如何优化以下查询以避免 SQL 调优方面的 OR 扩展? SELECT t1.A, t2.B, t1.C, t1.D, t2.E FROM t1 LEFT J
一旦加载插件的问题得到解决(在 .NET 中通过 MEF 的情况下),下一步要解决的是与它们的通信。简单的方法是实现一个接口(interface),使用插件实现,但有时插件只需要扩展应用程序的工作方式
我是一名优秀的程序员,十分优秀!