Estoy tratando de lograr anotaciones de espectador similares a la demostración oficial: lvm-react

Leí la publicación oficial del blog y uso archivos de Autodesk Extensions github: http: //adndevblog.typepad. com / cloud_and_mobile / 2016/04 / markup3d-sample-for-view-data-api.html

Pero no puedo compilar extensiones de fuentes (crear bundle.js). Intenté instalar npm, pero hay muchos errores como:

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

Y

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.

También instalé webpack usando npm, pero sin resultado, todavía hay muchos errores.

0
lukasamd 12 dic. 2016 a las 17:58

1 respuesta

La mejor respuesta

Faltaban algunos cargadores en la configuración de producción de la compilación del paquete web. Ahora está arreglado y debería poder compilar todas las extensiones. Utilice la última versión del repositorio.

Cuando pruebes tus extensiones, te recomiendo que uses el comando npm run build-dev , para que los archivos de extensiones generados no se minifiquen y tengan el mapa de origen habilitado, para que puedas depúrelos en la consola del navegador. Al compilar para producción, puede usar npm run build-prod .

También puede eliminar las distintas entradas de la configuración del paquete web para crear solo las extensiones que le interesan, por ejemplo:

module.exports = {

    devtool: 'eval-source-map',

    entry: {

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

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

También es posible que desee cambiar la ruta de salida, en mi configuración, la salida está fuera del directorio de extensiones, directamente en el proyecto usándolas:

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

Además de incluir el archivo de extensión en su proyecto, también debe asegurarse de incluir el polyfill de babel (de node_modules / babel-polyfill / dist / polyfill.min.js) antes de cualquier script de extensión.

Espero que te ayude, avísame si tienes más problemas para usar esas extensiones.

2
Felipe 13 dic. 2016 a las 01:34