避免捆绑和摇晃脚本中出现重复的脚本

时间:2018-10-04 15:17:29

标签: angular webpack angular-cli tree-shaking

因此,我只是尝试查看webpack-bundle-analyzer结果,以寻找应节制的知识,并更深入地了解CLI生成过程(CLI v6.1.5,Angular v6.1.8)并进行改进我们的实例。

我注意到,当我浏览一般的ng build时会看到供应商捆绑包;

var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 * jQuery JavaScript Library v3.2.1

这是不幸的,因为它没有像260k +一样缩小为整个jquery.js文件,但是我也在脚本包中找到了这一点;

/*! jQuery v3.2.1 | (c)是我希望的最小文件版本,考虑到我已经在angular.json

的脚本数组中明确声明了它

因此,我确定是否将其作为模块路径移到tsconfig.json上;

"paths": {
        "jquery": ["./node_modules/jquery/dist/jquery.min.js"],
    }

然后,它应该选择最小版本并像我与他人所做的一样从供应商那里剥离另一个版本。这样做,构建良好,我看到了大小差异,jquery.js从供应商捆绑包中消失了。...但是,我记得模块上没有typeroots,所以当我进入init时,我得到了{ {1}}个错误。如果我可以避免的话,我真的不想要全部error TS2304: Cannot find name '$'声明,而且我在一些我没有的jquery-ui库的import * as $ from 'jquery'的同一路径中有一个依赖项用作;

angular.json

如果我只是省略了jquery.min.js路径,那么我将得到"scripts": [ "./node_modules/jquery/dist/jquery.min.js", "./vendor_scripts/jquery-ui/jquery-ui.min.js", .....

因此,在我继承的此构建过程中,某些内容与实际情况不符,我希望有人可以教给我一些知识。如何避免使用重复的脚本来控制捆绑食品,如何确保以正确的方式尊重我的打字/环境声明?无论哪种方式都为阅读加油!

0 个答案:

没有答案