¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Problemas de implementación de @sap/mdk-tools en iOS con nativescript 8.2.2

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 10 Vistas
0
Cargando...

Hola,

Estamos utilizando el siguiente paquete npm para implementar la aplicación SAM2110 con nativescript 8.2.2 en los servicios móviles de BTP:

https://www.npmjs.com/package/@sap/mdk-tools

Se ha implementado correctamente, sin embargo, al probar la aplicación, funciona en Android pero no en iOS, mostrando el siguiente mensaje:

He verificado que tsconfig.json esté correctamente configurado e incluido en bundle.js

module.exports = JSON.parse('{"compilerOptions":{"target":"es2015","module":"esnext","moduleResolution":"node","lib":["es2018","dom"],"experimentalDecorators":true,"emitDecoratorMetadata":true,"removeComments":true,"inlineSourceMap":true,"noEmitOnError":false,"noEmitHelpers":true,"baseUrl":".","plugins":[{"transform":"@nativescript/webpack/dist/transformers/NativeClass","type":"raw"}]},"exclude":["node_modules"]}');

Quizás la diferencia entre la versión 1.3.2 de ts-patch en la herramienta mdk y en mi mdk sea 2.0.1.

Gracias

ios-sam.png
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Me encontré con este mismo problema. Mi depuración resultó en lo siguiente:

  • El problema ocurre cuando el paquete NPM mdk-tools se instala/agrega a un proyecto node como una dependencia de desarrollo; el problema no ocurre cuando el paquete NPM mdk-tools se instala globalmente.
  • Creo que el problema está relacionado con el siguiente archivo del paquete NPM mdk-tools (la ruta indicada es relativa al directorio "node_modules" del proyecto):
    • @sap/mdk-tools/lib/bundler/tsconfig6.json
  • Específicamente, en el archivo "tsconfig6.json", creo que el siguiente par clave/valor causa el problema:
    • "plugins": [{"transform": "@nativescript/webpack/dist/transformers/NativeClass", "type": "raw"}]
  • Creo que el problema radica en que la función "bundler" no puede resolver la referencia "@nativescript/webpack/dist/transformers/NativeClass", sin embargo, no se arroja ningún error ni se informa/salida en la consola durante la ejecución del comando "mdk deploy".

Pude aplicar la siguiente solución temporal para abordar el problema. Una vez más, las rutas indicadas son relativas al directorio "node_modules" del proyecto:

  • Copiar "@nativescript/webpack/" a "@sap/mdk-tools/node_modules/"
Para aclarar, la copia debería resultar en la presencia de la siguiente ruta en el directorio "node_modules" del proyecto:
  • @sap/mdk-tools/node_modules/@nativescript/webpack/

Abrí el incidente SAP 1053868/2023 con respecto a este problema.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

(Comentario eliminado)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias por los consejos, Gary. Estoy de acuerdo en que está relacionado con la estructura de la carpeta de módulos de nodo.

En la extensión MDK, la carpeta node_modules, @sap/mdk-tools está en el mismo nivel que @nativescript/webpack.

node_modules/

|-@sap/mdk-tools

|-@nativescript/webpack

Si este problema ocurre, tanto Android como iOS deberían reportar errores.

Puedes verificar el resultado de la compilación desde la carpeta .build del proyecto. Si el resultado es correcto, no debería haber cadenas 'NativeClass()' en bundle.js.

Si hay cadenas 'NativeClass()', ¿podrías decirnos la estructura de carpetas de @sap/mdk-tools y @nativescript/webpack? ¿O cómo usaste mdkl-tools?

Saludos,

Zhen-kun

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

@Zhen-kun Li -

Aquí están las declaraciones de progreso finales generadas por el comando 'deploy' que muestran un paquete y despliegue exitosos en BTP...

Tengo una ocurrencia de 'NativeClass()' en el archivo 'bundle.js' generado por el comando 'deploy'...

Aquí está la estructura del directorio 'node_modules' en mi proyecto Node, mostrando el subdirectorio '@nativescript' y el subdirectorio '@sap'...

Aquí hay un fragmento del archivo 'package.json' de mi proyecto que muestra cómo se invoca el comando 'deploy' y muestra la versión de '@sap/mdk-tools' utilizada...

Este es el único paso que debo realizar para evitar que ocurra el error...

Saludos,

Gary Faulkner

node-modules-after-fix.png
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?