2016-04-22 34 views
3

我跟着Smoochinstructions沒有成功。用RequireJS設置smooch-js

這裏是最少的代碼爲我失敗:

<!doctype html><html> 
<head> 
    <meta charset="utf-8"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js"></script> 
    <script> 
     require.config({ 
      "paths": { 
       "smooch": "https://cdn.smooch.io/smooch.min" 
      } 
     }); 
     // Tried this 
     require(["require", "smooch"], function(require){ 
      var Smooch = require("smooch"); 
      console.log(Smooch); // → undefined 
     }); 
     // Tried that 
     require(["smooch"], function(Smooch){ 
      console.log(Smooch); // → undefined 
     }); 
    </script> 
</head> 
<body></body> 
</html> 

require返回我爲我的undefined所以沒有Smooch.init(...)。在Firefox和Chrome上進行測試。

我做錯了什麼?

回答

3

你應該在你需要的呼叫,像這樣用「接吻」,而不是「接吻」:

<!doctype html><html> 
<head> 
    <meta charset="utf-8"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js"></script> 
    <script> 
     require.config({ 
      "paths": { 
       "Smooch": "https://cdn.smooch.io/smooch.min" 
      } 
     }); 
     // Tried this 
     require(["require", "Smooch"], function(require){ 
      var Smooch = require("Smooch"); 
      console.log(Smooch); // → Smooch object 
     }); 
     // Tried that 
     require(["Smooch"], function(Smooch){ 
      console.log(Smooch); // → Smooch object 
     }); 
    </script> 
</head> 
<body></body> 
</html> 

的LIB被包裹在一個UMD包裝和自定義它的名字是「接吻」。

+0

非常感謝,確實解決了這個問題。我想我已經嘗試過'Smooch'而不是'smooch',但是我必須在這一點上有其他的東西被破壞,然後回覆到自述所說的內容。 –

+1

沒問題!我們將更新文檔以更好地解釋這一點。 –