【发布时间】:2018-09-10 11:34:48
【问题描述】:
在documentation for Webpack 4 中,他们提供了一个示例,其中包中的square 函数标有unused harmony export square 的注释。我跟着这个例子;但是,bundle.js 不包含此注释。
复制:
- Pull the code from here
- 执行
yarn install - 执行
yarn run build
请在此处找到我的源代码:https://gitlab.com/trevor.screws/webpack-tutorial/tree/stackoverflow_question
编辑:
在开发模式下使用 Webpack 4.1.1,这是我的 bundle.js 文件中的输出:
/***/
"./src/math.js":
/*!*********************!*\
!*** ./src/math.js ***!
\*********************/
/*! exports provided: square, cube */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);
\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__,
\"square\", function() { return square; }); \n/* harmony export (binding) */
__webpack_require__.d(__webpack_exports__, \"cube\", function() { return cube;
});\nfunction square(x) {\r\n return x * x;\r\n}\r\n\r\nfunction cube(x)
{\r\n return x * x * x;\r\n}\n\n//# sourceURL=webpack:///./src/math.js?");
/***/ })
/******/ });
【问题讨论】:
-
在生产模式下构建时,该功能不包括在内(即,它按预期工作)。但是,在开发模式下,该功能不会像文档中所说的那样标记为 /* 未使用的和声导出方块 */。
-
我可以按照指南中的说明重现您的发现。我认为这是一个文档错误,在开发模式下,捆绑包中不再生成
unused harmony export square。
标签: webpack tree-shaking