【问题标题】:How does a Webpack isomorphic/universal plugin work?Webpack 同构/通用插件如何工作?
【发布时间】:2016-07-18 15:00:12
【问题描述】:

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

【问题讨论】:

    标签: javascript webpack


    【解决方案1】:

    我是这 3 个模块的作者。

    webpack-isomorphic-toolsrequire-hacker 的帮助下钩入Node.js 的require() 函数并拦截require() 对所有配置了extensions 的资产的调用,返回它们的Webpack 编译形式(取自webpack-assets.json 生成webpack-isomorphic-tools/plugin 在 Webpack 构建期间)。

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

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

    【讨论】:

    • “并且做需要做的事情”很难回答“它是如何工作的”的问题。
    • 感谢您的跟进。恢复了我的反对意见。为后续行动点赞。
    猜你喜欢
    • 2018-11-02
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2017-03-12
    • 2017-05-05
    • 2019-05-26
    • 2018-07-22
    相关资源
    最近更新 更多