我可以在浏览器/ node.js上使用不同的库,而无需编辑package.json?

xhr库提供了在同一个API下对浏览器和node.js执行请求的方法。 为此,你必须要求另一个库, 请求 ,并编辑你的package.json来告诉browserifyxhrreplacerequest ,这比轻量级更轻,因此比缩小整个request库更合适。 我想知道是否有一种方法可以在不编辑package.json情况下达到同样的效果。 就像是:

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

你可以这样的东西:

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

请注意, nodeRequire是防止Browserify绑定request必要条件。