【问题标题】:Use one dependency in Node, another in browser在 Node 中使用一个依赖项,在浏览器中使用另一个依赖项
【发布时间】:2016-09-10 18:50:20
【问题描述】:

我正在开发一个 NPM 模块,该模块将围绕一个相当古老的“类 RESTful”web API 来检索数据。此 API 中的某些数据仅以 XML 形式提供。我一直在使用xml2js对其进行转换解析。

理想情况下,我想要一个可以在 Node 或浏览器中运行的包。我最近添加了一个 browserify 构建任务,输出文件为 416kb。看起来有点大。原来有一半来自 xml2js。

似乎可以访问浏览器的 DOM 解析器应该使解析 XML 变得非常简单。基本上,当使用带有自定义脚本或不同包的 browserify 时,我想覆盖我的 require('xml2js') 语句。

我找到了browserify-bypass,但它似乎不再起作用了......我知道browserify(...).use 不是一个函数,这很公平 - 它已经四年没有更新了。

如果不是使用browserify而不是使用Webpack,是否有一些我错过的方法?

【问题讨论】:

  • 也许aliasify 会有所帮助。
  • 太完美了。谢谢你。如果你想提交它作为答案,我会接受它。

标签: javascript node.js webpack browserify


【解决方案1】:

使用aliasify,您可以为packgage.json中的模块定义别名:

{
    "aliasify": {
        "aliases": {
            "underscore": "lodash"
        }
    }
}

然后,require('underscore') 将自动转换为require('lodash')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多