【发布时间】:2019-08-06 04:28:04
【问题描述】:
我正在尝试将clipboardjs 实现到一个项目中,为此我将clipboardjs.js 文件位于./modules/clipboardjs.js 中。在 main.coffee 文件中, require './modules/clipboardjs' 行正在实现该文件。然后我有两个树枝模板,其中一个带有一个初始化clipboardjs对象的宏,如下所示:
<script>
new ClipboardJS('{{ selector }}');
</script>
另一个是具有生成 url 的所有逻辑的主模板文件。我在不同的实现上取得了成功,但现在我正在尝试使用 main.coffeescript 文件来导入它根本没有复制的 js 文件。关于我可能需要做什么才能正确加载此文件的任何想法?
编辑:
我通过将 requires 语句更改为 ClipboardJS = require './modules/clipboardjs' 和 window.ClipboardJS = require './modules/clipboardjs' 来尝试这两种解决方案
我在 chrome 中遇到的两次错误都是:
Uncaught TypeError: Cannot set property 'ClipboardJS' of undefined
at webpackUniversalModuleDefinition (clipboardjs.js:15)
at Module.<anonymous> (clipboardjs.js:7)
at Module../src/scripts/administration/modules/clipboardjs.js (admin.js:190240)
at __webpack_require__ (bootstrap:724)
at fn (bootstrap:101)
at Object../src/scripts/administration/main.coffee (main.coffee:14)
at __webpack_require__ (bootstrap:724)
at fn (bootstrap:101)
at Object.1 (admin.js:192117)
at __webpack_require__ (bootstrap:724)
articles:2332 Uncaught ReferenceError: ClipboardJS is not defined
at articles:2332
(anonymous) @ articles:2332
当我调用 ClipboardJS 构造函数时,似乎没有找到它需要的代码。
编辑 2: @caffeinated.tech 我不完全确定,我是一个新开发者,但我知道他们使用 webpack 和 gulp。有没有办法检查?
【问题讨论】:
-
看起来
window可能在您的咖啡脚本内容中未定义。你能告诉我你是如何构建/编译你的前端代码的吗?是webpack吗?coffeescript是如何编译的?
标签: coffeescript twig