Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用网页包编写Autodesk.Viewing.Extensions并作出反应?_Reactjs_Webpack_Autodesk Forge - Fatal编程技术网

Reactjs 如何使用网页包编写Autodesk.Viewing.Extensions并作出反应?

Reactjs 如何使用网页包编写Autodesk.Viewing.Extensions并作出反应?,reactjs,webpack,autodesk-forge,Reactjs,Webpack,Autodesk Forge,我在view3D v2.11、React、ES6和webpack中编写代码。但我不知道如何在网页包中编写Autodesk.Viewing.Extensions,并做出反应。有人能给我举一些例子吗?使用webpack编写查看器扩展与使用webpack编写任何其他js应用程序没有什么不同。看看我的扩展库repo,无论您是在dev还是prod中构建项目,每个扩展都绑定到单独的.js或.min.js中 这是这样设计的,因此每个扩展都可以独立地动态加载,但是,如果您围绕查看器构建整个应用程序,您可以简单地

我在view3D v2.11、React、ES6和webpack中编写代码。但我不知道如何在网页包中编写
Autodesk.Viewing.Extensions
,并做出反应。有人能给我举一些例子吗?

使用webpack编写查看器扩展与使用webpack编写任何其他js应用程序没有什么不同。看看我的扩展库repo,无论您是在dev还是prod中构建项目,每个扩展都绑定到单独的.js或.min.js中

这是这样设计的,因此每个扩展都可以独立地动态加载,但是,如果您围绕查看器构建整个应用程序,您可以简单地将每个扩展的代码与应用程序的其余部分一起包含,并生成单个webpack包

此React项目包含多个查看器扩展(其中一些是从上述库中提取的),并将扩展代码与应用程序的其余部分捆绑在一起:

就React和查看器而言,它不是很相关,因为查看器是动态创建的3D组件,所有WebGL画布和查看器2D元素都是在应用程序加载模型后生成的,而React允许您在应用程序启动时声明2D组件。我在玩向查看器div注入动态响应组件的游戏,您可以在同一个项目中查看:

这是一个使用示例:

viewer.react.addComponent(
    <DBDropdown key="test" className="react-div">
    </DBDropdown>
)
viewer.react.addComponent(
)
实际上,我还没有在应用程序中实现任何使用该功能的功能,但它应该会给你一个想法

希望有帮助

componentDidUpdate () {

 if (this.viewer && this.viewer.react) {

   if(this.viewer.react.components.length) {

    this.viewer.react.render(this.props)
   }
 }
}
viewer.react.addComponent(
    <DBDropdown key="test" className="react-div">
    </DBDropdown>
)