Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 应用程序未使用网页包AOT为prd生成nativescript_Webpack_Nativescript - Fatal编程技术网

Webpack 应用程序未使用网页包AOT为prd生成nativescript

Webpack 应用程序未使用网页包AOT为prd生成nativescript,webpack,nativescript,Webpack,Nativescript,当我尝试在webpack和AOT激活的情况下为PRD构建应用程序时,我遇到了一个错误 如果禁用AOT,则应用程序生成过程成功,但应用程序无法打开(错误提示应用程序应关闭)。 我可以让它工作禁用网页,但我想这不是它应该是 对于开发过程,我使用webpack运行应用程序,带有tns运行android,没有问题 使用webpack和AOT构建时出现的错误是: [19-07-08 10:57:31.698] (CLI) ERROR in : TypeError: workaroundResolveMod

当我尝试在webpack和AOT激活的情况下为PRD构建应用程序时,我遇到了一个错误

如果禁用AOT,则应用程序生成过程成功,但应用程序无法打开(错误提示应用程序应关闭)。 我可以让它工作禁用网页,但我想这不是它应该是

对于开发过程,我使用webpack运行应用程序,带有
tns运行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.

我通过“修复”与角度模块匹配的版本解决了这个问题

我的项目在angular@7但出于某种原因,@angular/compiler cli和@ngtools/webpack在devdependences中的位置为8

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

就我而言,也许你需要其他版本。
另外,我需要降级typescript@~3.1.1

我通过“修复”与角度模块匹配的版本解决了这个问题

我的项目在angular@7但出于某种原因,@angular/compiler cli和@ngtools/webpack在devdependences中的位置为8

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

就我而言,也许你需要其他版本。
此外,我还需要将typescript@~3.1.1降级。。。在浪费了一天时间之后,解决方法非常简单

显然,webpack并没有加载代码中没有提到或被迫加载的静态文件

为了加载静态文件,您需要将这些文件添加到
webpack.config.js
文件中。 我需要将这一行添加到
CopyWebpackPlugin

{ from: { glob: "assets/i18n/*.json" } },
因此,CopyWebPackagePluging是:

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.

(请参见捆绑工作流部分)

好吧。。。在浪费了一天时间之后,解决方法非常简单

显然,webpack并没有加载代码中没有提到或被迫加载的静态文件

为了加载静态文件,您需要将这些文件添加到
webpack.config.js
文件中。 我需要将这一行添加到
CopyWebpackPlugin

{ from: { glob: "assets/i18n/*.json" } },
因此,CopyWebPackagePluging是:

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.

(请参见捆绑工作流部分)

您使用的是哪个版本的NativeScript?版本是5.4.0您使用的是哪个版本的NativeScript?版本是5.4.0