我可以在browser / node.js上使用不同的lib,而无需编辑package.json吗?

时间:2017-01-17 23:20:35

标签: javascript node.js browserify

xhr库提供了一种在同一API下对浏览器和node.js执行请求的方法。为此,您必须要求另一个库request,并修改package.json以告知浏览器将request替换为xhr,这更轻松,因此比缩小更合适整个request lib。我想知道是否有办法在不编辑package.json的情况下达到相同的效果。类似的东西:

#if browserify
    const req = require("xhr")
#else
    const req = require("request")

1 个答案:

答案 0 :(得分:1)

你可以这样:

let req;
if (process.browser) {
    req = require("xhr");
} else {
    const nodeRequire = require;
    req = nodeRequire("request");
}

请注意,nodeRequire是必要的,以防止Browserify捆绑request