在 Node 中使用一个依赖项,在浏览器中使用另一个
Use one dependency in Node, another in browser
我正在开发一个 NPM 模块,它将环绕一个相当古老的 "RESTful-like" web API to retrieve data. Some of the data from this API is only available as XML. I've been using xml2js 来转换它并解析它。
理想情况下,我想要一个可以在 Node 或浏览器中工作的包。我最近添加了一个 browserify 构建任务,输出文件为 416kb。它看起来有点大。原来有一半来自 xml2js。
似乎可以访问浏览器的 DOM 解析器应该使解析 XML 非常简单。基本上我想在将 browserify 与自定义脚本或不同的包一起使用时覆盖我的 require('xml2js')
语句。
我找到了 browserify-bypass
但它似乎不再起作用了...我得到 browserify(...).use
不是一个函数,这很公平 - 它已经四年没有更新了.
有没有什么方法可以做到这一点,如果不是使用 browserify 而不是使用 Webpack,我是否缺少?
使用 aliasify 您可以为 packgage.json
中的模块定义别名:
{
"aliasify": {
"aliases": {
"underscore": "lodash"
}
}
}
那么,require('underscore')
会自动转化为require('lodash')
。
我正在开发一个 NPM 模块,它将环绕一个相当古老的 "RESTful-like" web API to retrieve data. Some of the data from this API is only available as XML. I've been using xml2js 来转换它并解析它。
理想情况下,我想要一个可以在 Node 或浏览器中工作的包。我最近添加了一个 browserify 构建任务,输出文件为 416kb。它看起来有点大。原来有一半来自 xml2js。
似乎可以访问浏览器的 DOM 解析器应该使解析 XML 非常简单。基本上我想在将 browserify 与自定义脚本或不同的包一起使用时覆盖我的 require('xml2js')
语句。
我找到了 browserify-bypass
但它似乎不再起作用了...我得到 browserify(...).use
不是一个函数,这很公平 - 它已经四年没有更新了.
有没有什么方法可以做到这一点,如果不是使用 browserify 而不是使用 Webpack,我是否缺少?
使用 aliasify 您可以为 packgage.json
中的模块定义别名:
{
"aliasify": {
"aliases": {
"underscore": "lodash"
}
}
}
那么,require('underscore')
会自动转化为require('lodash')
。