【问题标题】:while doing ng build --prod, jw-angular-pagination throwing error在进行 ng build --prod 时,jw-angular-pagination 抛出错误
【发布时间】:2020-04-17 06:48:51
【问题描述】:

我正在使用"jw-angular-pagination": "^1.1.0"

错误 node_modules/jw-angular-pagination/lib/jw-pagination.component.d.ts.JwPaginationComponent.html(8,9): :属性“setPage”是私有的,只能在类内访问 'JwPaginationComponent'。

【问题讨论】:

标签: angular pagination


【解决方案1】:

问题在于您正在使用 AOT 模式构建项目。 AOT 默认情况下适用于生产版本,只需将其关闭即可。

ng build prod --aot=false

【讨论】:

  • 这给出了进一步的错误,因为“发生了未处理的异常:没有 'aot' 就无法使用 'buildOptimizer' 选项”
【解决方案2】:

setPage 方法中删除private 符号后,它对我有用:

node_modules/jw-angular-pagination/lib/jw-pagination.component.d.ts

【讨论】:

    【解决方案3】:

    我看到很多人都遇到过这种情况,但我找到了解决方法。如果你像我一样部署到heroku,单独从setPage 中删除'private' 是行不通的,因为heroku 必须一直运行npm installng build --prod,这会下载具有相同错误的新副本。

    虽然已将 PR 设为存储库 here,但尚未合并。虽然我们希望它尽快合并。这是我所做的:

    • 我通过将包(jw-angular-pagination 和 jw-paginate)从 node_modules 移到一个名为“packages”的单独文件夹中来提取包(您可以随意命名)。我的位于 src/app/packages

    • 在 packages/jw-angular-pagination/lib/jw-angular-pagination.js 第 3 行,将 jw-paginate 行更改为 var paginate = require("../../jw-paginate/lib/jw-paginate");

    • 转到您的 app.module.ts 并将导入更改为:import { JwPaginationComponent } from "./packages/jw-angular-pagination/lib/jw-pagination.component";

    不要忘记运行npm uninstall jw-angular-pagination,这样它就不会发生冲突。并从 package.json 中删除

    【讨论】:

      【解决方案4】:

      运行npm uninstall jw-angular-pagination

      "jw-angular-pagination": "^1.1.0" 更改为"jw-angular-pagination": "1.1.0"

      运行npm install

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多