Родные модули не работают правильно в nativescript

Я пытаюсь использовать этот пакет Android, чтобы сделать эффект размытия в nativescript.

https://github.com/wasabeef/Blurry

поэтому в nativescript включена компиляция в моем app.gradle в /app/App_Resources/Android/app.gradle

затем восстановить все работает хорошо и строит отлично.

но когда я начинаю использовать библиотеку, я пытался использовать console.dir(global['jp']), так как оператор импорта библиотеки должен быть

import jp.wasabeef.blurry.Blurry;

поэтому я начинаю видеть, существуют ли функции для вызова, так что это то, что приходит из console.dir

JS: === dump(): dumping members ===
JS: {
JS:     "wasabeef": {
JS:         "blurry": {
JS:             "R": "R()function () { [native code] }"
JS:         }
JS:     }
JS: }
JS: === dump(): dumping function and properties names ===
JS: === dump(): finished ===

Итак, как вы можете видеть, последняя функция, которая должна заставить меня получить доступ к библиотеке, не существует. Я действительно хочу знать, почему я также попытался создать пакет для Android, чтобы он возвращал мне нужную функцию, но та же проблема, что последняя функция не появляется.

Я также искал плагин в nativescript, я нашел этот https://www.npmjs.com/package/nativescript-blur

но, на самом деле, это не создает фактического размытия, как сказано в документации, и когда я попытался использовать его, возникла та же проблема, и я получил эту ошибку.

JS: ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'init' of undefined
JS: TypeError: Cannot read property 'init' of undefined
JS:     at new Blur (file:///data/data/org.nativescript.test2/files/app/tns_modules/nativescript-blur/blur.js:8:39)
JS:     at Object.<anonymous> (file:///data/data/org.nativescript.test2/files/app/home/home.component.js:5:12)
JS:     at require (<anonymous>:1:266)
JS:     at Object.<anonymous> (file:///data/data/org.nativescript.test2/files/app/home/home-routing.module.js:5:24)
JS:     at require (<anonymous>:1:266)
JS:     at Object.<anonymous> (file:///data/data/org.nativescript.test2/files/app/home/home.module.js:5:29)
JS:     at require (<anonymous>:1:266)
JS:     at file:///data/data/org.nativescript.test2/files/app/tns_modules/tns-core-modules/globals/globals.js:92:32
JS:     at new ZoneAwarePromise (file:///data/data/org.nativescript.test2/files/app/tns_modules/nativescript-angular/zone-js/dist/zone-nativescript.js:777:29)
JS:     at Object.import (file:///data/data/org.nativescript.test2/files/app/tns_modules/tns-core-modules/globals/globals.js:90:16)
JS:     at SystemJsNgModuleLoader.loadAndCompile (file:///data/data/org.nativescript.test2/files/app/tns_modules/@angular/core/bundles/core.umd.js:6596:29)
JS:     at SystemJsNgModuleLoader.load (file:///data/data/org.nativescript.test2/files/app/tns_modules/@angular/core/bundles/core.umd.js:6580:60)
JS:     at RouterConfigLoader.loadModuleFactory (file:///data/data/org.nativescript.test2/files/app/tns_modules/@angular/router/bundles/router.umd.js:4611:72)
JS:     at RouterConfigLoader.load (file:///data/data/org.nativescript.test2/files/app/tns_modules/@angular/router/bundles/router.umd.js:4591:52)
JS:     at MergeMapSubscriber.project (file:///data/data/org.nativescript.test2/files/app/tns_modules/@angular/router/bundles/router.umd.js:2083:74)

Итак, когда я проверил место ошибки в node_modules, я обнаружил, что init была последней функцией в имени пакета, в которой библиотека использовала тот же случай с пакетом, который я пытался использовать выше.

  • Также я попробовал это в угловом пустом шаблоне и в пустом шаблоне javascript, предполагая, что были какие-то различия при включении библиотек во всем мире.

  • моя версия nativescript: 3.4.3

  • Я использовал эмулятор с Android версии 6

Я не знаю, почему происходит эта странная проблема, я новичок в nativescript. Пожалуйста, мне нужен кто-то, кто скажет мне, как решить эту проблему, или хотя бы просто ответьте на пример приложения, использующего пакет, который я упоминал выше.

Спасибо

1 ответ

Решение

Я узнал, что ответ был странным, когда пересборка nativescript по какой-то причине не дает правильной сборки. Итак, как было сказано в решении этой проблемы https://github.com/davecoffin/nativescript-blur/issues/5

вам просто нужно:

делать

tns platform remove android

тогда делай

tns run android

и теперь все должно работать правильно. надеюсь, это поможет, кто когда-либо встречает такую ​​ошибку

Другие вопросы по тегам