Enc*_*PTL 4 jquery browserify browserify-shim
我在我的项目中使用 browserify 并尝试需要一个需要jQuery作为全局变量的模块。我使用了browserify-shim一次将其设置为其中之一的
"jquery": "global:$"
"jquery": "global:jQuery"
"jquery": "$"
"jquery": "jQuery"
但似乎仍然没有任何作用。使用全局 jQuery 的库也在垫片中并设置为"depends": ["jquery"]
Browserify 正确地连接了 Javascript 包,但在运行 karma 测试时出现此错误Uncaught ReferenceError: jQuery is not defined 。我在 karma.conf.js 中指定了相同的 browserify-shim 配置。如何将 jQuery 设置为全局,以便它可以访问它而不抛出此错误。
Browserify-shim 假设您使用 Browserify 来填充非全局变量。这在某种程度上是 Browserify 的要点,即您不会污染全局范围或在全局范围上重新定义事物。
您的情况的解决方案是使用此版本的声明 jQuery:
"jquery: $"
Run Code Online (Sandbox Code Playgroud)
...在您的中package.json,然后通过以下任一方式在代码中的某处显式定义全局:
window.$ = require('jquery');
Run Code Online (Sandbox Code Playgroud)
...或者简单地...
$ = require('jquery'); // Note no `var` here.
Run Code Online (Sandbox Code Playgroud)
require('jquery')这将允许您在 javascript 包中使用,而且还可以通过全局范围直接在模板等内容中使用 jQuery。
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |