Autodesk 查看器标记扩展 - 无法从源代码编译

Autodesk Viewer Markup extension - can't compile from sources

我正在尝试实现与官方演示类似的查看器注释: lvm-react

我阅读了官方博客 post 并使用了来自 Autodesk Extensions github 的文件: http://adndevblog.typepad.com/cloud_and_mobile/2016/04/markup3d-sample-for-view-data-api.html

但我无法从源代码编译扩展(创建 bundle.js)。只尝试了 npm install,但有很多错误,例如:

ERROR in ./src/Viewing.Extension.VisualReport/PieChart/PieChart.js
Module not found: Error: Cannot resolve module 'EventsEmitter' in MY_FILES

ERROR in ./src/Viewing.Extension.StateManager/Viewing.Extension.StateManager.scss
Module parse failed: /MY_PATH/library-javascript-viewer-extensions-master/src/Viewing.Extension.StateManager/Viewing.Extension.StateManager.scss Unexpected token (2:0)
You may need an appropriate loader to handle this file type.

我也用npm安装了webpack,但是没有结果,还是有很多错误。

webpack 构建生产配置中缺少一些加载程序。它现在已修复,您应该能够构建所有扩展。请使用 repo 中的最新版本。

在测试你的扩展时,我建议你使用 npm 运行 build-dev 命令,所以生成的扩展文件不会缩小并启用源映射,因此您可以在浏览器控制台中轻松调试它们。构建生产环境时,可以使用 npm 运行 build-prod.

您还可以从 webpack 配置中删除各种条目以仅构建您感兴趣的扩展,例如:

module.exports = {

    devtool: 'eval-source-map',

    entry: {

      'Viewing.Extension.Markup3D':
        './src/Viewing.Extension.Markup3D/Viewing.Extension.Markup3D.js',
    },

    // ... rest of the config ...

您可能还想更改输出路径,在我的配置中输出在扩展目录之外,直接在项目中使用它们:

output: {
    path: path.join(__dirname, '../../App/dynamic/extensions'),
    filename: "[name]/[name].js",
    libraryTarget: "umd",
    library: "[name]",
    watch: true
  },

除了将扩展文件包含到项目中之外,您还应确保在任何扩展脚本之前包含 babel polyfill(来自 node_modules/babel-polyfill/dist/polyfill.min.js)。

希望对您有所帮助,如果您在使用这些扩展程序时遇到任何问题,请告诉我。