假设我有一个具有以下结构的项目
/app
|_webpack.config.js
|_package.json
|_/npm_modules
| |_...
|_/client
|_/misc
| |_...
|_/components
| |_...
|_index.jsx
和webpack.config.js
包含此
entry: ["./client/index.jsx"]
和index.jsx
加载所有这样的组件
var components = [];
var componentPaths = require.context("./components", false);
componentPaths.keys().forEach(function(path) {
components.push(componentPaths(path));
});
哪些文件将捆绑到生成的bundle.js中?
它只是/app/client/index.jsx
和/app/client/components
目录中的所有文件吗?
或者整个/app/client
目录是否捆绑在一起(包括/app/client/misc
下的所有内容)?
或者整个/app
目录是否捆绑在一起(包括/app/npm_modules
下的所有内容)?
我一直试图根据Webpack文档来解决这个问题,但它们并不充分。如果您知道答案,包括参考您找到的信息将非常有帮助。
我问,因为我想设置一个具有多个入口点的项目,其中生成的bundle.js文件仅包含必要的内容。
答案 0 :(得分:4)
因为您使用import
或require
。如果未导入或不需要文件,则不会将其包含在捆绑包中。
注意:import
是ES6功能,您需要Babel才能在大多数浏览器中使用它。