Приложения не собирают nativescript для prd с помощью веб-пакета AOT - PullRequest
1 голос
/ 08 июля 2019

Я получаю сообщение об ошибке при попытке создать приложение для PRD с активированным веб-пакетом и AOT.

Если я отключаю AOT, процесс сборки приложения завершается успешно, но затем приложение не может быть открыто (ошибка говорит приложениедолжен закрыться).Я мог бы заставить его работать, отключив веб-пакет, но я думаю, что это не так, как должно быть ...

Для процесса dev я запускаю приложение с веб-пакетом с tns run android без проблем.

ОшибкаЯ получаю при сборке с Webpack и AOT:

[19-07-08 10:57:31.698] (CLI) ERROR in : TypeError: workaroundResolveModule.workaroundResolve is not a function
[19-07-08 10:57:31.698] (CLI) ERROR in ../$$_lazy_route_resource lazy namespace object
[19-07-08 10:57:31.698] (CLI) Module not found: Error: Can't resolve '/mypath/src/app/routes/payment/payment.module.ngfactory.js' in '/mypath/$$_lazy_route_resource'
[19-07-08 10:57:31.698] (CLI)  @ ../$$_lazy_route_resource lazy namespace object ~/app/routes/payment/payment.module.ngfactory
[19-07-08 10:57:31.698] (CLI)  @ ../node_modules/@angular/core/fesm5/core.js
[19-07-08 10:57:31.698] (CLI)  @ ../platforms/android/app/snapshot-entry.js
[19-07-08 10:57:31.698] (CLI) ERROR in ../$$_lazy_route_resource lazy namespace object
[19-07-08 10:57:31.698] (CLI) Module not found: Error: Can't resolve '/mypath/src/app/routes/user/user.module.ngfactory.js' in '/mypath/$$_lazy_route_resource'
[19-07-08 10:57:31.698] (CLI)  @ ../$$_lazy_route_resource lazy namespace object ~/app/routes/user/user.module.ngfactory
[19-07-08 10:57:31.698] (CLI)  @ ../node_modules/@angular/core/fesm5/core.js
[19-07-08 10:57:31.698] (CLI)  @ ../platforms/android/app/snapshot-entry.js
[19-07-08 10:57:31.809] Build failed. Executing webpack failed with exit code 2.

Ответы [ 2 ]

0 голосов
/ 24 июля 2019

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

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

Чтобы загрузить статические файлы, вам необходимо добавить их в файл webpack.config.js. Мне нужно добавить эту строку в CopyWebpackPlugin

{ from: { glob: "assets/i18n/*.json" } },

Итак, CopyWebpackPluging:

new CopyWebpackPlugin([
                { from: { glob: "assets/i18n/*.json" } },
                { from: { glob: "fonts/**" } },
                { from: { glob: "**/*.jpg" } },
                { from: { glob: "**/*.png" } },
            ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),

Итак, теперь, когда я запускаю приложение, я вижу в консоли следующую строку:

Successfully transferred en.json on device emulator-5554.

Источник (см. Раздел «Рабочий процесс пакета»)

0 голосов
/ 24 июля 2019

Я решил эту проблему, "исправив" версии, соответствующие угловым модулям.

Мой проект находится под углом @ 7, но по какой-то причине @ angular / compiler-cli и @ ngtools / webpack где 8 в devDependencies.

npm i @ ngtools / webpack @ ^ 7.2.4 @ angular / compiler-cli @ ^ 7.2.15

В моем случае, возможно, вам нужны другие версии. Кроме того, мне нужно было понизить typescript@~3.1.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...