我试图像官方演示一样尝试类似的观看者注释: lvm-react
我阅读官方博客文章并使用Autodesk Extensions github中的文件: http://adndevblog.typepad.com/cloud_and_mobile/2016/04/markup3d-sample-for-view-data-api.html
但是我无法从源代码编译扩展(创建bundle.js)。尝试npm安装,但有很多错误,如:
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,但没有结果,仍然有很多错误。
答案 0 :(得分:2)
webpack build production config中缺少一些加载器。它现在已修复,您应该能够构建所有扩展。请使用回购中的最新版本。
在测试扩展程序时,我建议您使用 npm run build-dev 命令,这样生成的扩展文件就不会缩小并启用了源映射,因此您可以在浏览器控制台中轻松调试它们。在构建生产时,您可以使用 npm run 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)。
希望有帮助,如果您在使用这些扩展程序时遇到任何进一步的麻烦,请与我们联系。