javascript - 如何使用 requirejs 导入 strophe?

标签 javascript amd webpack strophe

我正在尝试使用 strophe.jsrelay-starter-kit .我检查了 relay-starter-kit,将 "strophe": "^1.2.2" 添加到 package.json 并运行了 npm 安装

我找不到如何在不出错的情况下导入 strophe。如果我只是尝试 import Strophe from 'strophe'; 我会收到 webpack 无法解析 strophe-polyfill 的错误。我为指向主 strophe.js 文件的那个添加了一个解析别名,但这没有帮助(我只是收到一条控制台消息 Uncaught ReferenceError: Strophe is not defined)。

看起来 strophe 有一些奇怪的模块系统(它在 github 中提到了 AMD,但我认为这意味着我可以require 它,但显然不是)。我见过的所有示例都将其导入到 HTML 文件中并使全局命名空间困惑。我需要在 React 中使用它,所以我认为这行不通。

如何导入 strophe 以在我的 es6 文件中使用?

最佳答案

因为我在这上面浪费了很多时间,所以这里是答案:

  1. 在 HTML 文件中包含 strophe:

  2. 编辑 server.js 使 webpack 将 strophe 公开为静态路径:

    app.use('/node_modules/strophe', express.static('node_modules/strophe'));

  3. 在 React 组件中,无需导入 strophe,因为它现在全局可用。而只是连接,例如:

    var connection = new Strophe.Connection("ws://"+ server + ":5280/websocket/");

关于javascript - 如何使用 requirejs 导入 strophe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32128991/

相关文章:

javascript - 在 Javascript 中从 href 获取路径名

javascript - Dojo.js AMD 加载器 - 类型错误 : can't convert undefined to object

css - Vue.js + Webpack 多样式tas输出

javascript - 从后端加载数据时,I18Next 不起作用

javascript - ./~/constants-browserify/constants.json 中的错误

javascript - 使用谷歌云消息和服务 worker 的桌面推送通知

javascript - 是否可以将 JS WebSocket 连接到 Python 服务器?

javascript - ReactJS Canvas drawImage不显示html5视频元素

javascript - AMD(require.js)如何处理单个非amd js文件中的多个类?

requirejs - typescript AMD外部模块加载,角度未定义