【问题标题】:How to avoid 3rd parties libraries to be included into 'vendor.js' on 'ng- build? I want to use CDN instead如何避免在“ng-build”中将第三方库包含在“vendor.js”中?我想改用 CDN
【发布时间】:2018-12-27 19:48:44
【问题描述】:

我正在使用 Angular-CLI 开发 Angular 6 应用程序。 当我让ng build 编译时,还会生成一个vendor.js 文件,其中包括我使用 NPM 安装的所有库。这对于 Angular 框架本身来说是可以的,因为构建过程会对使用的模块进行一些优化。

对于外部库(例如,moment、highcharts 等),我不希望它们进入此供应商文件。我想使用 CDN 加载它们。

如何实现?

【问题讨论】:

    标签: angular angular-cli-v6 ng-build


    【解决方案1】:

    您可以直接在index.html 文件中包含链接。例如,使用 momentjs

    index.html

    <script src="http://yourcdn.com/moment.min.js"/>
    

    在你的组件中,替换

    import * as moment from 'moment';
    

    declare let moment: any;
    

    但这意味着在组件中使用该库时不能使用类型化变量

    【讨论】:

    • 是的,我以前试过,但正如你所写,没有类型支持。有没有办法只安装@types 但继续使用 CDN?
    • 我没试过,但这应该是可以的。安装时刻类型后,可能类似于declare let moment : Moment;。注意:moment确实提供了自己的类型,但我不确定你是否可以使用它们
    猜你喜欢
    • 1970-01-01
    • 2013-10-11
    • 2017-04-17
    • 1970-01-01
    • 2015-12-15
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多