我有一些使用打字稿的大型项目。
我尝试了几种方法来摇动lodash。
我认为最好先查看我的作品输出。
我的构建命令是
构建命令
ng build --stats-json
webpack-bundle-analyzer {{stats.json path}}
custom_loadsh.ts
export { forEach } from 'lodash/forEach';
export { cloneDeep } from 'lodash/cloneDeep';
...
..
.
app.component.ts
import * as _ from './custom_lodash';
export class AppComponent implements OnInit {
...
ngOnInit() {
let data = {
test: 1
};
let data2 = _.cloneDeep(data);
}
...
}
不是通过custom_lodash获取整个lodash,而是仅导入其中的一部分。
当然,上面的示例代码与实际项目有些不同,但是总体配置是相同的。
我想知道为什么lodash树摇晃失败。
这是我引用的网站。 https://medium.com/@martin_hotell/tree-shake-lodash-with-webpack-jest-and-typescript-2734fa13b5cd
答案 0 :(得分:0)
我发现了问题所在。
问题是node_modules中的另一个软件包。
在我的情况下,ngx-treeview
包使用lodash。
这是ngx-treeview
import { isNil, isString } from 'lodash';
所以,我会在下面尝试。
import isNil from 'lodash/isString';
import isString from 'lodash/isNil';
但是..该解决方案是临时的。
我将尝试向ngx-treeview
github报告问题。不幸的是,最后一次编辑该软件包超过1年。
所以,我只是分叉了那个分支。