我正在用jquery测试typescript,但是当我编译test.ts文件时,它总是给我一个错误,指出:找不到名字'$'。
我已经导入了jquery&添加了它的定义参考。
如果我在import $ = require("jquery")
文件中使用test.ts
,则在进行Cannot find module jquery
编译时会出现另一个错误“tsc
”。但是,JQuery文件夹已存在于node_modules文件夹中。
有谁知道在打字稿中使用jquery的正确方法是什么?
以下是我的步骤:
npm install jquery --save
typings install --global --save dt~jquery
/// <reference path="../../../typings/globals/jquery/index.d.ts" />
tsconfig.json
{
"compilerOptions": {
"jsx": "react",
"outDir": "./dist",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"experimentalDecorators": true
},
"exclude": [
"node_modules"
],
"files": [
"./typings/index.d.ts",
"./src/wo/tests/test.ts",
]
}
test.ts
/// <reference path="../../../typings/globals/jquery/index.d.ts" />
let test:any=$("div");
答案 0 :(得分:17)
如果你发现这些错误90%的时间是因为版本化问题@ types / jquery
尝试运行:
npm install jquery --save
然后在app.module.ts
:
import * as $ from 'jquery';
然后运行:
npm install @types/jquery@2.0.47
你应该准备好了。
答案 1 :(得分:13)
我不知道它是否有帮助,但我为我的datepicker解决了同样的问题。
首先我用这个命令安装了jQuery:npm install --save-dev @types/jquery
然后在angular-cli.json文件中添加依赖项:
"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.css",
"../node_modules/font-awesome/css/font-awesome.css",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker3.min.css",
"styles.css"
]
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/ng2-datetime/src/vendor/bootstrap-datepicker/bootstrap-datepicker.min.js"
]
我认为添加jQuery部分可能会对你有用。如果有效,请告诉我。
答案 2 :(得分:1)
{'canonicalForm': 'cat',
'list': ['kitty',
'c*']}
不是为我工作。足够有趣
import * as $ from "jquery";
实际上解决了我的问题。
答案 3 :(得分:0)
安装并导入以下软件包。它将解决错误(“找不到名称'$'”)。角版本为7
导入'datatables.net';
答案 4 :(得分:0)
您可能需要修复一些漏洞。
运行npm audit fix
进行修复,或运行npm audit
进行详细说明。