我在使用typescript和Rollupjs。
Babylonjs将打字机与软件包捆绑在一起,因此当我像这样导入时:
import { ArcRotateCamera, Engine, SceneLoader, Vector3 } from "babylonjs";
我从typescript中获得了所有的打字信息和打字检查,然而,由于(我认为)如何 巴比伦.js
1:从“js”导入{ArcRotateCamera,Engine,SceneLoader,Vector3}; 2:导入“装载机”; 3:从“React”导入React; 错误:节点\u modules/babylonjs/babylon.js未导出“引擎”
1:从“js”导入{ArcRotateCamera,Engine,SceneLoader,Vector3};
2:导入“装载机”;
3:从“React”导入React;
错误:节点\u modules/babylonjs/babylon.js未导出“引擎”
要修复汇总绑定,我需要将导入更改为:
import { ArcRotateCamera, Engine, SceneLoader, Vector3 } from "babylonjs/es6";
但是我失去了所有的打字信息。。。
所以我最快的解决办法就是用某种方式指示打字 巴比伦 也适用于 巴比伦js/es6.js
这些命名的import都是正确的,并且可以工作,因为当我将它与@storybook一起使用时,组件可以工作(它通过webpack加载)。
babylonjs 模块在中声明 babylon.d.ts :
babylonjs
babylon.d.ts
declare module 'babylonjs' { export = BABYLON; } declare module BABYLON { // Many declarations... }
将相同的声明与 babylonjs/es6 模块名称,只需遵循相同的格式,并将模块声明添加到项目中的新文件中:
babylonjs/es6
declare module 'babylonjs/es6' { export = BABYLON; }
(在另一个模块文件中添加此代码将不起作用,因为这样它将被视为模块扩充而不是模块声明。)
考虑提交一个问题,以便在原始版本中进行此更改 巴比伦 包裹。
巴比伦