Webpack isomorphic / universal插件是如何工作的?

时间:2016-07-18 15:00:12

标签: javascript webpack

我找到了两个工具来解决服务器端模块加载器的问题:webpack-isomorphic-toolsuniversal-webpack。有人可以向我解释这些事情的关键步骤吗?它如何捕获/提取import ed / require d模块?

1 个答案:

答案 0 :(得分:3)

我是这3个模块的作者。

webpack-isomorphic-toolsrequire()的帮助下挂钩Node.js的require-hacker函数,并拦截require()次调用已配置extension的所有素材资源返回Webpack编译的表单(取自webpack-assets.json在Webpack构建期间生成的webpack-isomorphic-tools/plugin

universal-webpack没有挂钩require()函数 - 它只是将客户端Webpack配置转换为服务器端Webpack配置的帮助器。它不会在服务器端或其他东西上运行。它只是一个Webpack配置生成器 - 结果是Webpack有一个target: "node"参数,它使得它在Node.js上运行的输出代码没有任何问题。

我在webpack-isomorphic-tools之前写了universal-webpack,因此universal-webpack是推荐的工具。 然而,许多人仍然使用webpack-isomorphic-tools(包括我),并发现它不那么复杂。