14得票1回答
如何使基于类的自定义元素无副作用,以便Webpack仅打包显式导入的组件

我有一组v1规范的自定义元素,我正在使用webpack 4进行打包(并使用babel-loader进行转译)。 这些组件都类似于这样:export class CompDiv extends HTMLDivElement { constructor(...args) { cons...

14得票2回答
使用Rollup创建可进行“摇树优化”的库

我想创建一个使用 Rollup 和 Vue 的组件库,当其他人导入时可以进行树摇优化。我的设置如下: package.json 中相关的摘录:{ "name": "red-components-with-rollup", "version": "1.0.0", "sideEffe...

14得票2回答
如何处理树摇晃代码中的副作用?

我一直在尝试学习如何编写支持tree shaking的代码,但是遇到了一个问题:无法避免的副作用,不知道该如何处理。 在我的一个模块中,我访问全局Audio构造函数,并使用它来确定浏览器可以播放哪些音频文件(类似于Modernizr的做法)。每当我尝试进行tree shaking时,Audi...

14得票2回答
为什么我的React组件库无法进行Tree-shaking优化?

我有一个React组件库,使用rollup进行打包。然后我在使用Webpack作为底层的create-react-app应用程序中消耗该库。我期望Webpack对组件库进行Tree-shaking。构建应用程序包并进行分析后,我发现组件库要么完全没有被Tree-shaking,要么因为它本身不...

14得票3回答
如何在新的Angular 4项目中启用树摇?

我刚刚用CLI创建了一个新的Angular 4项目:ng new test 版本信息:@angular/cli: 1.0.0 node: 6.10.0 os: win32 x64 @angular/common: 4.0.1 @angular/compiler: 4.0.1 @angular...

13得票1回答
如何在Next.js中启用树摇优化?

有没有什么方法可以让Next.js对依赖项进行摇树优化/删除死代码?我已经像这样导出了两个对象:library.js export const foo = {foo:"foo"} export const bar = {bar:"bar"} 在我的 n...

12得票1回答
Webpack 3、Babel 和 Tree shaking 不起作用

我正在尝试找到一种方法通过Webpack使用Babel进行Tree-Shaking。如果我使用Webpack文档(https://webpack.js.org/guides/tree-shaking/)中的示例代码并运行它,则未使用的模块/函数/其他导出项将被标记为未使用的harmony导出项...

12得票2回答
使用Rollup进行摇树优化

我有一个项目,在其中使用Rollup打包组件库(生成bundle.esm.js文件)。这些组件随后用于另一个项目中,该项目生成使用这些组件的网页-每个页面都使用不同的组件。问题是,无论我使用哪些组件,整个组件库始终与不同的页面包一起打包,从而不必要地增加了捆绑大小。 这是我的Rollup设置...

12得票2回答
Webpack的import *会影响树摇优化吗?

我在这里阅读到的内容 - https://www.thedevelobear.com/post/5-things-to-improve-performance/ - 说从一个库中导入所有东西将不允许摇树优化将其删除,即使它没有被使用。我不相信这个说法,这是真的吗?我认为摇树优化会识别出除了一些...

12得票1回答
Webpack不对CSS文件的sideEffects生效

我有一个JavaScript模块,导入了一个CSS文件。在Webpack的“开发”模式中,CSS已经包含在内了,但在“生产”模式中却没有。这是因为treeshaking认为CSS文件没有任何副作用。解决此问题的推荐方法是在package.json中添加"sideEffects": ["*.cs...