在运行'ng test'命令时找不到jQuery
问题描述:
我已经使用新的angular-cli版本创建了一个项目,并且使项目启动并运行。当我运行ng serve和ng build命令时,它完美地工作,没有任何错误。但是当我尝试运行测试时,它显示了我这样的错误。在运行'ng test'命令时找不到jQuery
theme.provider.ts (53,31): Property 'removeClass' does not exist on type 'JQuery'.
theme.provider.ts (64,35): Property 'addClass' does not exist on type 'JQuery'.
theme.provider.spec.ts (7,30): Cannot find name '$'.
我在下面的方式加了jQuery角,cli.json
"scripts": [
"../node_modules/jquery/dist/jquery.min.js"
],
然后我就通过这种方式
import 'jquery';
进口jQuery来我的主要模块有上述配置中的任何缺失步骤?
答
假设你已经安装了@types/jquery
,尝试在tsconfig.spec.json
加入jquery
到类型列表中(它应该已经在列表中jasmine
和node
)。
此外,当您在angular-cli.json
添加jquery.min.js
到scripts
列表,它在你的scripts.bundle.js
结束。当您在主模块中执行import 'jquery';
时,它也会在vendor.bundle.js
中结束,因此您已经添加了两次代码。
而不是做import 'jquery';
的,只需添加jquery
您compilerOptions
类型列表中tsconfig.app.json
(或创建一个"types": ["jquery"]
)。然后,您将能够引用全局jquery对象,而无需再次导入它。
你可以把错误的文字不是图像? –
发布已更新 – JLS