3
我有一個純粹的前端JavaScript項目,其中包含許多封裝與各種RESTful Web服務的不同交互的模型。我的目標是將這些模型放入他們自己的npm模塊中,以便讓他們在我正在編寫的新節點應用程序中使用服務器端。同構處理HTTP請求javascript
這些模型使用XMLHttpRequest對象,這顯然在服務器上是未定義的。我不能在我的模型中要求('http'),因爲那麼當我嘗試爲客戶端構建時,browserify會引發錯誤。
如何處理可在服務器和客戶端上工作的HTTP請求?我想要的是這樣的:
var ajax = {
get: function (url, opts) {
if (typeof XMLHttpRequest === 'undefined') {
// is node app
var http = require('http');
...
} else {
// is browser app
var xhr = new XMLHttpRequest();
...
}
},
post: ...
};
您可以(有條件地)使用通用的NPM模塊來請求xmlhttprequest。這是我如何使用相同的API客戶端瀏覽器和節點... https://www.npmjs.com/package/xmlhttprequest。有了這個,你甚至不需要瀏覽器,但它仍然可以使用它... – dandavis