我有茉莉花測試spec文件,我想用node.js和瀏覽器運行它。如何檢測腳本是否在節點中運行?如何檢測腳本是否在瀏覽器或Node.js中運行?
4
A
回答
8
一對夫婦的想法:
您可以檢查窗口全局對象,如果是可用的,那麼你是在瀏覽器中
if (typeof window === 'undefined')
// this is node
或者你可以檢查進程對象,如果是可用的,那麼你是在節點
if(typeof process === 'object')
// this is also node
+0
沒有爲我工作,當我運行反應服務器渲染... – abhirathore2006
-1
您檢查的exports
變量,就像這樣:
if (typeof exports === 'object') {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = { ... };
}
+0
爲此,您需要確保您不會「沒有'window.exports'在瀏覽器中設置,否則此鴨子輸入將失敗。 –
0
只有這樣的npm包,它可以在客戶端和服務器端使用。
你可以在你的代碼中使用它像這樣
import { isBrowser, isNode } from 'browser-or-node';
if (isBrowser) {
// do browser only stuff
}
if (isNode) {
// do node.js only stuff
}
免責聲明:我這個包:)
相關問題
- 1. Node.js - 如何檢測節點腳本是否正在運行?
- 2. 是否有node.js的腳本瀏覽器?
- 3. 如何檢測Node.js腳本是否通過shell管道運行?
- 4. 如何檢查我是否在瀏覽器中運行JavaScript代碼或不在瀏覽器中運行?
- 5. 是否有可能在瀏覽器中運行Shell腳本
- 6. 如何檢測瀏覽器是否支持webkit瀏覽器?
- 7. 如何檢測Flash模塊是否在谷歌瀏覽器中運行?
- 8. 如何檢測網頁是否在iPhone的嵌入式瀏覽器中運行?
- 9. 如何檢測在make文件或shell腳本中是否在valgrind下運行?
- 10. 如何檢查瀏覽器是否在MAC上運行?
- 11. 如何檢測您在嵌入式IE瀏覽器中運行?
- 12. 如何檢測腳本是否在虛擬機上運行?
- 13. 如何檢測我的新貴腳本是否正在運行?
- 14. 如何檢測圖像在瀏覽器中是否被禁用?
- 15. 腳本在瀏覽器中運行x秒是否有任何影響?
- 16. 瀏覽器版本或錯誤檢測
- 17. 如何防止在瀏覽器中「停止運行此腳本」?
- 18. 如何在瀏覽器中運行python腳本?
- 19. 如何通過瀏覽器在centos中運行python腳本
- 20. 如何在IE瀏覽器中運行Behat腳本?
- 21. Do Django是否在服務器或瀏覽器中執行腳本?
- 22. PHP - 檢查,看是否有腳本運行它,循環瀏覽器永遠
- 23. 檢測瀏覽器是否支持jQueryMobile
- 24. 檢測瀏覽器是否支持vbscript?
- 25. 如何檢測Windows機器是否正在運行IPV4或IPV6?
- 26. 如何檢測瀏覽器是否是PHP中的iPhone,iPad或iPod?
- 27. 檢測用戶瀏覽器是否關閉瀏覽器
- 28. 如何在JavaScript中檢測瀏覽器?
- 29. 如何檢測瀏覽器?
- 30. 在服務器內運行腳本不是瀏覽器
筆者http://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser – PeterVC
使用此https://www.npmjs.com/package/detect-is-node – abhirathore2006