我知道Webpack中的一些内部功能。关于依赖项,模板和模块构建的东西。但是,在其来源中几乎没有评论,现在没有完整的文档网站 。所以,我不能将它们全部链接起来处理我的问题。
根据我目前的要求,我需要使用自定义源模板(similar to this MultiModule
in webpack)呈现特定模块。
注意:要明确,生成的模块的依赖关系数组不是静态的。例如,一次可能是
['./a', './b', './c']
,另一次可能是['./b', './c','./d']
。这取决于构建之前的一些动态配置。
有关详细示例,我需要一个模块调用main.js
。在构建时,需要动态生成目标依赖项(因为不确定哪些模块是依赖项):
// main.js
var a = require('./a')
var b = require('./b')
var c = require('./c')
var d = require('./d')
...
事实上,如果我只需要动态地require
它们,我就可以动态构建一个入口点。
// webpack.config.js
{
entry: {
main: [
'./a',
'./b',
'./c',
...
]
},
}
并且它(webpack)将生成一个可能是这样的模块:
__webpack_require__(1);
__webpack_require__(2);
__webpack_require__(3);
return __webpack_require__(4);
但我需要做更多事情:
var a = __webpack_require__(1);
var b = __webpack_require__(2);
var c = __webpack_require__(3);
var d = __webpack_require__(4);
...
// do something with a,b,c,d... under my custom need
...
return somthing or nothing;
正如你们了解webpack的人一样,它非常复杂,并且难以理解并跟踪其插件(事件)层次结构。
需要一些专业知识! :)
我很抱歉以前我不清楚的问题。
但是,有某种奇怪的气氛。我设立了一个值得关注和指导的赏金。某人的自由思想的答案驱使我以某种方式对不礼貌做出评论。然后一些和事佬表现出与问题或答案无关的评论。太糟糕了。
专注于那件事只会让事情变得更糟,没有任何帮助。不放手只是意味着有一个小心灵。
答案 0 :(得分:0)
通常在webpack中,您只需要一个文件,也可能是文件所依赖的不同库。如果您需要main,那么webpack将根据您可以阅读的有关here的CommonJS语法来解析依赖关系。删除webpack.config.js文件中的额外要求是否解决了这个问题?例如只有以下配置:
// webpack.config.js
{
entry: [ "./main" ],
...
}
听起来你并不真正了解webpack是如何工作的 - 它的想法是模仿Node的CommonJS语法如何允许你的javascript模块化并放置在单独的文件中,同时还具有高性能并且不需要大量的AJAX您的浏览器请求。如果您想了解更多关于Webpack的配置文件check out this page。
作为旁注,在模块末尾返回绝对没有任何意义。如果您要导出,可以使用module.exports
,但在return true
文件末尾添加main.js
之类的内容并不会在任何有意义的内容中被捕获。