小编Ram*_*bou的帖子

不推荐在“package.json”中配置 ng-packagr

在构建带有子条目的 Angular 13 包时,我收到以下警告。

Building Angular Package
WARNING: Found configuration in ...<PATH_TO_PACKAGE>/package.json.
Configuring ng-packagr in "package.json" is deprecated. Use "ng-package.json" instead.
Run Code Online (Sandbox Code Playgroud)

所有相关信息均源自ng version

Angular CLI: 13.0.4
Node: 16.13.0
Package Manager: yarn 1.22.17
OS: linux x64

Angular: 13.0.3
... animations, cdk, common, compiler, compiler-cli, core
... elements, forms, language-service, material
... material-moment-adapter, platform-browser
... platform-browser-dynamic, router, service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1300.3
@angular-devkit/build-angular   13.0.4
@angular-devkit/core            13.0.3
@angular-devkit/schematics      13.0.3
@angular/cli                    13.0.4
@schematics/angular             13.0.4
ng-packagr                      13.0.8
rxjs                            7.4.0
typescript                      4.4.4
Run Code Online (Sandbox Code Playgroud)

不知道这是否是误报或如何解决它,因为官方 ng-packagr …

angular-cli ng-packagr

11
推荐指数
1
解决办法
7287
查看次数

在同一UMD中打包外部依赖项

使用汇总或ng-packagr(针对角度)之类的工具,您可以轻松创建代码的UMD包。默认情况下,依赖关系将被视为外部依赖关系,并且不捆绑在生成的模块中。例如,ng-packagr默认情况下会这样做(这是正确的方法,因为没有必要创建包含外部依赖关系代码的Angular库)

问题是,有人可以使用ng-packagr或直接使用汇总来实现UMD中某些外部依赖项的捆绑吗?

据我所知,如果您在汇总配置对象的{externals:[]}属性中声明一个模块,它将不会将此模块捆绑到最终的UMD中。尽管任何node_modules依赖项都不会在外部:[]上声明,但汇总不会将代码捆绑到导出的UMD中。

关于如何实现此目标的任何想法?

rollup angular ng-packagr

5
推荐指数
0
解决办法
165
查看次数

Angular2 Http请求如何将body作为二进制返回?

我有一个url,用charset = iso-8859-7返回html内容,这意味着angulars http请求默认将数据转换为utf8,我无法正确地将它们编码回iso-8859-7.经过大量的搜索,我发现很多人都有同样的问题,大多数答案都是为了改变服务器中的字符集,这是我无法做到的,因为服务器不属于我.

所以问题是HTTP请求如何返回二进制文件,以便我可以将它们编码为iso-8859-7字符串?

编辑 - 解决方案:
我最终做的是在RequestOptions上使用TextDecoder和{ responseType:ResponseContentType.ArrayBuffer } .这是一个示例,可以帮助任何试图解析html页面并将其解码为正确编码的人.希望能帮助所有在使用像Ionic2这样的Angular2的项目中尝试过这个的人.

public parser() {
    // Set content type
    let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded;'});
    // Create a request option, with withCredentials for sending previous stored cookies
    let options = new RequestOptions({
      withCredentials: true,
      headers: headers,
      responseType: ResponseContentType.ArrayBuffer
    });

    return this.http.get('https://blablablablabla', options) // ...using get request
      .map((res: any) => {

        var string = new TextDecoder('iso-8859-7').decode(res._body);

        var parser = new DOMParser();
        var htmlDoc = parser.parseFromString(string, "text/html");

        console.log(string) …
Run Code Online (Sandbox Code Playgroud)

encoding http character-encoding ionic2 angular

4
推荐指数
1
解决办法
1917
查看次数